diff --git a/src/Profile.cpp b/src/Profile.cpp index 8aaf435a00..6a0271735c 100644 --- a/src/Profile.cpp +++ b/src/Profile.cpp @@ -2471,7 +2471,7 @@ void Profile::SetAnyAchievedGoals(RString ck, float rate, const HighScore& pscor for (size_t i = 0; i < sgv.size(); ++i) { ScoreGoal& tmp = sgv[i]; // should probably adhere to the established process of storing scores percents as 0.xx to avoid this kind of confusion -mina - if (lround(tmp.rate * 1000.f) == lround(rate * 1000.f) && tmp.percent < pscore.GetWifeScore() * 100.f) { + if (lround(tmp.rate * 1000.f) == lround(rate * 1000.f) && !tmp.achieved &&tmp.percent < pscore.GetWifeScore() * 100.f) { tmp.achieved = true; tmp.timeachieved = pscore.GetDateTime(); }