diff --git a/source/MusicBeatState.hx b/source/MusicBeatState.hx
index 0d9da14a5..23d2b6b91 100644
--- a/source/MusicBeatState.hx
+++ b/source/MusicBeatState.hx
@@ -64,6 +64,13 @@ class MusicBeatState extends FlxUIState
 		totalSteps += 1;
 		lastStep += Conductor.stepCrochet;
 
+		// If the song is at least 3 steps behind
+		if (Conductor.songPosition > lastStep + (Conductor.stepCrochet * 3))
+		{
+			lastStep = Conductor.songPosition;
+			totalSteps = Math.round(lastStep / Conductor.stepCrochet);
+		}
+
 		if (totalSteps % 4 == 0)
 			beatHit();
 	}