diff --git a/src/evo/deterministicmns.cpp b/src/evo/deterministicmns.cpp index 1fc349395962d..89a4d0b0ef863 100644 --- a/src/evo/deterministicmns.cpp +++ b/src/evo/deterministicmns.cpp @@ -761,6 +761,9 @@ bool CDeterministicMNManager::BuildNewListFromBlock(const CBlock& block, const C if (!dmn) { return _state.DoS(100, false, REJECT_INVALID, "bad-protx-hash"); } + if (newList.HasUniqueProperty(pl.keyIDOperator) && newList.GetUniquePropertyMN(pl.keyIDOperator)->proTxHash != pl.proTxHash) { + return _state.DoS(100, false, REJECT_DUPLICATE, "bad-protx-dup-operator-key"); + } auto newState = std::make_shared(*dmn->pdmnState); if (newState->keyIDOperator != pl.keyIDOperator) { // reset all operator related fields and put MN into PoSe-banned state in case the operator key changes