diff --git a/client/CServerHandler.cpp b/client/CServerHandler.cpp index 2def4c5fa..688030c75 100644 --- a/client/CServerHandler.cpp +++ b/client/CServerHandler.cpp @@ -729,7 +729,7 @@ void CServerHandler::startCampaignScenario(HighScoreParameter param, std::shared auto & epilogue = ourCampaign->scenario(*ourCampaign->lastScenario()).epilog; auto finisher = [=]() { - if(ourCampaign->campaignSet != "") + if(ourCampaign->campaignSet != "" && ourCampaign->isCampaignFinished()) { Settings entry = persistentStorage.write["completedCampaigns"][ourCampaign->getFilename()]; entry->Bool() = true;