diff --git a/src/cpp/ripple/ripple_SHAMap.cpp b/src/cpp/ripple/ripple_SHAMap.cpp index 6d4e33abd..06b93cd1c 100644 --- a/src/cpp/ripple/ripple_SHAMap.cpp +++ b/src/cpp/ripple/ripple_SHAMap.cpp @@ -884,9 +884,10 @@ bool SHAMap::fetchRoot (uint256 const& hash, SHAMapSyncFilter* filter) WriteLog (lsTRACE, SHAMap) << "Fetch root SHAMap node " << hash; } - root = fetchNodeExternalNT (SHAMapNode (), hash); - - if (!root) + Ledger::pointer newRoot = fetchNodeExternalNT(SHAMapNode(), hash); + if (newRoot) + root = newRoot; + else { Blob nodeData;