diff --git a/src/ripple/shamap/impl/SHAMap.cpp b/src/ripple/shamap/impl/SHAMap.cpp index 9d69fe951a..4e5911f4f7 100644 --- a/src/ripple/shamap/impl/SHAMap.cpp +++ b/src/ripple/shamap/impl/SHAMap.cpp @@ -74,7 +74,8 @@ SHAMap::snapShot (bool isMutable) const newMap.root_ = root_; newMap.backed_ = backed_; - if ((state_ != SHAMapState::Immutable) || !isMutable) + if ((state_ != SHAMapState::Immutable) || + (newMap.state_ != SHAMapState::Immutable)) { // If either map may change, they cannot share nodes newMap.unshare ();