diff --git a/src/sdl/mixer_sound.c b/src/sdl/mixer_sound.c
index 71832459182305a2bed1cf1e9e94446508fb8dd0..18670649e6dffc4df522c84ec96b8da00f6b9c8b 100644
--- a/src/sdl/mixer_sound.c
+++ b/src/sdl/mixer_sound.c
@@ -475,12 +475,24 @@ void I_ShutdownMusic(void)
 void I_PauseSong(INT32 handle)
 {
 	(void)handle;
+#ifdef HAVE_LIBGME
+	if (gme)
+	{
+		Mix_HookMusic(NULL, NULL);
+	}
+#endif
 	Mix_PauseMusic();
 }
 
 void I_ResumeSong(INT32 handle)
 {
 	(void)handle;
+#ifdef HAVE_LIBGME
+	if (gme)
+	{
+		Mix_HookMusic(mix_gme, gme);
+	}
+#endif
 	Mix_ResumeMusic();
 }