diff --git a/src/s_sound.c b/src/s_sound.c
index 78e3b345ee5589449b09316c8c09e47aaf307099..e5285c3216d364c9de7610175ed4ef024bfe0b39 100644
--- a/src/s_sound.c
+++ b/src/s_sound.c
@@ -1587,11 +1587,13 @@ void S_SetMusicVolume(INT32 digvolume, INT32 seqvolume)
 	switch(I_SongType())
 	{
 		case MU_MID:
-		case MU_MOD:
-		case MU_GME:
+		//case MU_MOD:
+		//case MU_GME:
 			I_SetMusicVolume(seqvolume&31);
+			break;
 		default:
 			I_SetMusicVolume(digvolume&31);
+			break;
 	}
 }
 
diff --git a/src/sdl/mixer_sound.c b/src/sdl/mixer_sound.c
index 2e5735ef9b172d98194598419581a6690eee9bdb..c5eb985fa84ae588a3425a5f763b9cd53b0d491c 100644
--- a/src/sdl/mixer_sound.c
+++ b/src/sdl/mixer_sound.c
@@ -769,7 +769,7 @@ void I_ResumeSong(void)
 
 void I_SetMusicVolume(UINT8 volume)
 {
-	if (!music)
+	if (!I_SongPlaying())
 		return;
 
 #ifdef _WIN32