diff --git a/polymer/eduke32/source/savegame.c b/polymer/eduke32/source/savegame.c
index d024c95ea..fb4f57faa 100644
--- a/polymer/eduke32/source/savegame.c
+++ b/polymer/eduke32/source/savegame.c
@@ -495,11 +495,15 @@ int32_t G_LoadPlayer(int32_t spot)
         Bstrcpy(MapInfo[ud.level_number].musicfn,levname);
     }
 
-    if (ud.config.MusicToggle && MapInfo[(uint8_t)g_musicIndex].musicfn != NULL &&
-        (i != g_musicIndex || MapInfo[MAXVOLUMES*MAXLEVELS+2].alt_musicfn))
+    if (ud.config.MusicToggle)
     {
-        S_StopMusic();
-        S_PlayMusic(&MapInfo[(uint8_t)g_musicIndex].musicfn[0],g_musicIndex);
+        if (MapInfo[(uint8_t)g_musicIndex].musicfn != NULL &&
+            (i != g_musicIndex || MapInfo[MAXVOLUMES*MAXLEVELS+2].alt_musicfn))
+        {
+            S_StopMusic();
+            S_PlayMusic(&MapInfo[(uint8_t)g_musicIndex].musicfn[0],g_musicIndex);
+        }
+
         S_PauseMusic(0);
     }