diff --git a/crates/mempool/src/mempool_test.rs b/crates/mempool/src/mempool_test.rs
index 0108ae0160..1f7b0c91c5 100644
--- a/crates/mempool/src/mempool_test.rs
+++ b/crates/mempool/src/mempool_test.rs
@@ -258,6 +258,33 @@ fn test_get_txs_multi_nonce() {
     expected_mempool_state.assert_eq_mempool_state(&mempool);
 }
 
+#[rstest]
+fn test_get_txs_replenishes_queue_only_between_chunks() {
+    // Setup.
+    let tx_address_0_nonce_0 =
+        add_tx_input!(tip: 20, tx_hash: 1, sender_address: "0x0", tx_nonce: 0_u8, account_nonce: 0_u8).tx;
+    let tx_address_0_nonce_1 =
+        add_tx_input!(tip: 20, tx_hash: 2, sender_address: "0x0", tx_nonce: 1_u8, account_nonce: 0_u8).tx;
+    let tx_address_1_nonce_0 =
+        add_tx_input!(tip: 10, tx_hash: 3, sender_address: "0x1", tx_nonce: 0_u8, account_nonce: 0_u8).tx;
+
+    let queue_txs = [&tx_address_0_nonce_0, &tx_address_1_nonce_0].map(TransactionReference::new);
+    let pool_txs =
+        [&tx_address_0_nonce_0, &tx_address_0_nonce_1, &tx_address_1_nonce_0].map(|tx| tx.clone());
+    let mut mempool: Mempool = MempoolState::new(pool_txs, queue_txs).into();
+
+    // Test.
+    let txs = mempool.get_txs(3).unwrap();
+
+    // Assert: all transactions returned.
+    // Replenishment done in chunks: account 1 transaction is returned before the one of account 0,
+    // although its priority is higher.
+    assert_eq!(txs, &[tx_address_0_nonce_0, tx_address_1_nonce_0, tx_address_0_nonce_1]);
+    // TODO(Ayelet): Add an MempoolState empty constructor.
+    let expected_mempool_state = MempoolState::new([], []);
+    expected_mempool_state.assert_eq_mempool_state(&mempool);
+}
+
 #[rstest]
 fn test_add_tx(mut mempool: Mempool) {
     // Setup.