diff --git a/src/cpp/ripple/LedgerConsensus.cpp b/src/cpp/ripple/LedgerConsensus.cpp index 063326912..c386f62b3 100644 --- a/src/cpp/ripple/LedgerConsensus.cpp +++ b/src/cpp/ripple/LedgerConsensus.cpp @@ -425,8 +425,8 @@ void LedgerConsensus::handleLCL(const uint256& lclHash) cLog(lsINFO) << "Have the consensus ledger " << mPrevLedgerHash; mHaveCorrectLCL = true; - mAcquiringLedger.reset(); - theApp->getOPs().clearNeedNetworkLedger(); + if (mAcquiringLedger->isComplete()) + theApp->getOPs().clearNeedNetworkLedger(); mCloseResolution = ContinuousLedgerTiming::getNextLedgerTimeResolution( mPreviousLedger->getCloseResolution(), mPreviousLedger->getCloseAgree(), mPreviousLedger->getLedgerSeq() + 1); diff --git a/src/cpp/ripple/NetworkOPs.cpp b/src/cpp/ripple/NetworkOPs.cpp index 327d16528..fa775e678 100644 --- a/src/cpp/ripple/NetworkOPs.cpp +++ b/src/cpp/ripple/NetworkOPs.cpp @@ -770,6 +770,7 @@ bool NetworkOPs::checkLastClosedLedger(const std::vector& peerLis } return true; } + clearNeedNetworkLedger(); consensus = mAcquiringLedger->getLedger(); }