diff --git a/osu.Game/Database/StandardisedScoreMigrationTools.cs b/osu.Game/Database/StandardisedScoreMigrationTools.cs
index ec08168f7c..c06502b521 100644
--- a/osu.Game/Database/StandardisedScoreMigrationTools.cs
+++ b/osu.Game/Database/StandardisedScoreMigrationTools.cs
@@ -21,6 +21,8 @@ namespace osu.Game.Database
var ruleset = score.Ruleset.CreateInstance();
var processor = ruleset.CreateScoreProcessor();
+ processor.TrackHitEvents = false;
+
var beatmap = new Beatmap();
HitResult maxRulesetJudgement = ruleset.GetHitResults().First().result;
diff --git a/osu.Game/Rulesets/Scoring/ScoreProcessor.cs b/osu.Game/Rulesets/Scoring/ScoreProcessor.cs
index 87f2b1e5ee..f29e3533a0 100644
--- a/osu.Game/Rulesets/Scoring/ScoreProcessor.cs
+++ b/osu.Game/Rulesets/Scoring/ScoreProcessor.cs
@@ -30,6 +30,11 @@ namespace osu.Game.Rulesets.Scoring
private const double accuracy_cutoff_c = 0.7;
private const double accuracy_cutoff_d = 0;
+ ///
+ /// Whether should be populated during application of results.
+ ///
+ internal bool TrackHitEvents = true;
+
///
/// Invoked when this was reset from a replay frame.
///
@@ -226,7 +231,7 @@ namespace osu.Game.Rulesets.Scoring
ApplyScoreChange(result);
- if (!IsSimulating)
+ if (!IsSimulating && TrackHitEvents)
{
hitEvents.Add(CreateHitEvent(result));
lastHitObject = result.HitObject;