diff --git a/osu.Game/Rulesets/Objects/Drawables/DrawableHitObject.cs b/osu.Game/Rulesets/Objects/Drawables/DrawableHitObject.cs
index f159d28eed..abfe7eb58c 100644
--- a/osu.Game/Rulesets/Objects/Drawables/DrawableHitObject.cs
+++ b/osu.Game/Rulesets/Objects/Drawables/DrawableHitObject.cs
@@ -469,6 +469,9 @@ namespace osu.Game.Rulesets.Objects.Drawables
/// The callback that applies changes to the .
protected void ApplyResult(Action application)
{
+ if (Result.HasResult)
+ throw new InvalidOperationException($"Cannot apply result on a hitobject that already has a result.");
+
application?.Invoke(Result);
if (!Result.HasResult)