diff --git a/src/avalanche/peermanager.cpp b/src/avalanche/peermanager.cpp --- a/src/avalanche/peermanager.cpp +++ b/src/avalanche/peermanager.cpp @@ -329,8 +329,12 @@ // Release UTXOs attached to this proof. for (const auto &s : it->proof->getStakes()) { - bool deleted = utxos.erase(s.getStake().getUTXO()) > 0; - assert(deleted); + auto utxo_it = utxos.find(s.getStake().getUTXO()); + // Make sure the UTXO has not been re-assigned to another peer before + // erasing. + if (utxo_it->second == peerid) { + utxos.erase(utxo_it); + } } m_unbroadcast_proofids.erase(it->proof->getId());