diff --git a/src/sdl/mixer_sound.c b/src/sdl/mixer_sound.c
index c5eb985fa84ae588a3425a5f763b9cd53b0d491c..b57a86819248c8b0022df5008b99cebdc8fae897 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)