diff --git a/src/wallet/spend.cpp b/src/wallet/spend.cpp index 51247b55eb3..3bd22cbc6fd 100644 --- a/src/wallet/spend.cpp +++ b/src/wallet/spend.cpp @@ -796,7 +796,8 @@ util::Result ChooseSelectionResult(interfaces::Chain& chain, co return util::Error{_("Failed to calculate bump fees, because unconfirmed UTXOs depend on an enormous cluster of unconfirmed transactions.")}; } CAmount bump_fee_overestimate = summed_bump_fees - combined_bump_fee.value(); - if (bump_fee_overestimate) { + // Avoid negative discount if mempool changed between the two bump fee snapshots. + if (bump_fee_overestimate > 0) { result.SetBumpFeeDiscount(bump_fee_overestimate); } result.RecalculateWaste(coin_selection_params.min_viable_change, coin_selection_params.m_cost_of_change, coin_selection_params.m_change_fee);