diff --git a/src/sdl/mixer_sound.c b/src/sdl/mixer_sound.c
index 49905efd7c91df3cff77a798cfaf93883855db11..676bfc4db2d3104840ddad278d7b27eb4efc894f 100644
--- a/src/sdl/mixer_sound.c
+++ b/src/sdl/mixer_sound.c
@@ -705,8 +705,11 @@ boolean I_LoadSong(char *data, size_t len)
 
 void I_UnloadSong(void)
 {
-	Mix_FreeMusic(music);
-	music = NULL;
+	// \todo unhook looper
+	//var_cleanup();
+	//Mix_FreeMusic(music);
+	//music = NULL;
+	I_StopSong();
 }
 
 boolean I_PlaySong(boolean looping)