diff --git a/node/consensus/src/transactions_queue.rs b/node/consensus/src/transactions_queue.rs index 972c9bb343..4fb7c73bd2 100644 --- a/node/consensus/src/transactions_queue.rs +++ b/node/consensus/src/transactions_queue.rs @@ -101,7 +101,10 @@ impl TransactionsQueueInner { // If the queue is not full, insert in the appropriate queue. if self.len() < self.capacity { if priority_fee.is_zero() { - self.queue.get_or_insert(transaction_id, || transaction); + // Transactions seen multiple times should still be popped LRU-wise. + if !self.queue.contains(transaction_id) { + let _ = self.queue.get_or_insert(transaction_id, || transaction); + } } else { self.priority_queue.insert(transaction_id, transaction, priority_fee); }