diff --git a/src/validation.cpp b/src/validation.cpp index 627c05fb68..ae897f6896 100644 --- a/src/validation.cpp +++ b/src/validation.cpp @@ -3809,7 +3809,11 @@ bool CChainState::DisconnectTip(CValidationState &state, mnview.GetHistoryWriters().DiscardDB(); return error("DisconnectTip(): DisconnectBlock %s failed", pindexDelete->GetBlockHash().ToString()); } - XResultThrowOnErr(evm_try_disconnect_latest_block(result)); + + if (XVM::TryFrom(block.vtx[0]->vout[1].scriptPubKey)) { + XResultThrowOnErr(evm_try_disconnect_latest_block(result)); + } + bool flushed = view.Flush() && mnview.Flush(); assert(flushed); mnview.GetHistoryWriters().FlushDB();