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