diff --git a/src/llmq/utils.cpp b/src/llmq/utils.cpp index 35f8526f6885e..805c621ad75c5 100644 --- a/src/llmq/utils.cpp +++ b/src/llmq/utils.cpp @@ -256,9 +256,11 @@ std::vector> BuildNewQuorumQuarterMembers(cons auto MnsNotUsedAtH = CDeterministicMNList(); std::vector MnsUsedAtHIndexed(nQuorums); + bool skipRemovedMNs = IsV19Active(pQuorumBaseBlockIndex) || (Params().NetworkIDString() == CBaseChainParams::TESTNET); + for (auto i = 0; i < nQuorums; ++i) { for (const auto& mn : previousQuarters.quarterHMinusC[i]) { - if (!allMns.HasMN(mn->proTxHash)) { + if (skipRemovedMNs && !allMns.HasMN(mn->proTxHash)) { continue; } if (allMns.IsMNPoSeBanned(mn->proTxHash)) { @@ -274,7 +276,7 @@ std::vector> BuildNewQuorumQuarterMembers(cons } } for (const auto& mn : previousQuarters.quarterHMinus2C[i]) { - if (!allMns.HasMN(mn->proTxHash)) { + if (skipRemovedMNs && !allMns.HasMN(mn->proTxHash)) { continue; } if (allMns.IsMNPoSeBanned(mn->proTxHash)) { @@ -290,7 +292,7 @@ std::vector> BuildNewQuorumQuarterMembers(cons } } for (const auto& mn : previousQuarters.quarterHMinus3C[i]) { - if (!allMns.HasMN(mn->proTxHash)) { + if (skipRemovedMNs && !allMns.HasMN(mn->proTxHash)) { continue; } if (allMns.IsMNPoSeBanned(mn->proTxHash)) {