diff --git a/src/d_main.c b/src/d_main.c
index 397406293295211dfb4a9749c391c8a237544711..ae2750da86d2830bbcbce4cf836fc8ca3300a099 100644
--- a/src/d_main.c
+++ b/src/d_main.c
@@ -1281,9 +1281,10 @@ void D_SRB2Main(void)
 		I_StartupSound();
 		I_InitMusic();
 		S_InitSfxChannels(cv_soundvolume.value);
-		S_InitMusicDefs();
 	}
 
+	S_InitMusicDefs();
+
 	CONS_Printf("ST_Init(): Init status bar.\n");
 	ST_Init();
 
diff --git a/src/s_sound.c b/src/s_sound.c
index 1d9c06cca187579f25e6f992c916a1fbb107ef40..a494990407693568ed6ddda9ad042784dd3d8c66 100644
--- a/src/s_sound.c
+++ b/src/s_sound.c
@@ -2543,7 +2543,6 @@ void GameDigiMusic_OnChange(void)
 		I_StartupSound(); // will return early if initialised
 		I_InitMusic();
 		S_StopMusic();
-		S_InitMusicDefs();
 		if (Playing())
 			P_RestoreMusic(&players[consoleplayer]);
 		else
@@ -2586,7 +2585,6 @@ void GameMIDIMusic_OnChange(void)
 		midi_disabled = false;
 		I_StartupSound(); // will return early if initialised
 		I_InitMusic();
-		S_InitMusicDefs();
 		if (Playing())
 			P_RestoreMusic(&players[consoleplayer]);
 		else