diff --git a/source/funkin/ui/freeplay/FreeplayState.hx b/source/funkin/ui/freeplay/FreeplayState.hx
index a030f6a76..9180fb6b1 100644
--- a/source/funkin/ui/freeplay/FreeplayState.hx
+++ b/source/funkin/ui/freeplay/FreeplayState.hx
@@ -146,13 +146,14 @@ class FreeplayState extends MusicBeatSubState
     }
 
     super(FlxColor.TRANSPARENT);
-    FlxG.state.persistentUpdate = false;
   }
 
   override function create():Void
   {
     super.create();
 
+    FlxG.state.persistentUpdate = false;
+
     FlxTransitionableState.skipNextTransIn = true;
 
     if (stickerSubState != null)
@@ -189,7 +190,7 @@ class FreeplayState extends MusicBeatSubState
     displayedVariations = (currentCharacter == 'bf') ? [Constants.DEFAULT_VARIATION, 'erect'] : [currentCharacter];
 
     // programmatically adds the songs via LevelRegistry and SongRegistry
-    for (levelId in LevelRegistry.instance.listBaseGameLevelIds())
+    for (levelId in LevelRegistry.instance.listSortedLevelIds())
     {
       for (songId in LevelRegistry.instance.parseEntryData(levelId).songs)
       {