diff --git a/modules/ripple_app/ledger/LedgerMaster.cpp b/modules/ripple_app/ledger/LedgerMaster.cpp index d43b2fd47b..a784e113c9 100644 --- a/modules/ripple_app/ledger/LedgerMaster.cpp +++ b/modules/ripple_app/ledger/LedgerMaster.cpp @@ -745,8 +745,13 @@ std::list LedgerMaster::findNewLedgersToPublish(boost::recursiv WriteLog (lsWARNING, LedgerMaster) << "Failed to acquire a published ledger"; getApp().getInboundLedgers().dropLedger(hash); acq = getApp().getInboundLedgers().findCreate(hash, seq); - if (acq->isComplete() && !acq->isFailed()) - ledger = acq->getLedger(); + if (acq->isComplete()) + { + if (acq->isFailed()) + getApp().getInboundLedgers().dropLedger(hash); + else + ledger = acq->getLedger(); + } } }