diff --git a/src/sdl/mixer_sound.c b/src/sdl/mixer_sound.c
index 676bfc4db2d3104840ddad278d7b27eb4efc894f..dd00d78f73eced2989ff5264cafa94b2c289a05e 100644
--- a/src/sdl/mixer_sound.c
+++ b/src/sdl/mixer_sound.c
@@ -524,7 +524,12 @@ musictype_t I_SongType(void)
 
 boolean I_SongPlaying(void)
 {
-	return (boolean)music;
+	return (
+#ifdef HAVE_LIBGME
+		(I_SongType() == MU_GME && gme) ||
+#endif
+		(boolean)music
+	);
 }
 
 boolean I_SongPaused(void)