diff --git a/src/android/i_sound.c b/src/android/i_sound.c
index ecf96f2f053cf2ca8e3cb135b34cfc7e2dccd0c0..24db3e21d04c096dd9e9561f78a9a7c2beb9ea08 100644
--- a/src/android/i_sound.c
+++ b/src/android/i_sound.c
@@ -84,11 +84,6 @@ void I_InitMIDIMusic(void){}
 
 void I_ShutdownMIDIMusic(void){}
 
-void I_SetMIDIMusicVolume(INT32 volume)
-{
-        (void)volume;
-}
-
 INT32 I_RegisterSong(void *data, size_t len)
 {
         (void)data;
diff --git a/src/djgppdos/i_sound.c b/src/djgppdos/i_sound.c
index 88fc807f408cb4f285086fdabd854658b83063ad..dcf64fa6901ffcee2f06ffca730095612da08800 100644
--- a/src/djgppdos/i_sound.c
+++ b/src/djgppdos/i_sound.c
@@ -140,15 +140,6 @@ void I_SetSfxVolume(INT32 volume)
 	set_volume (Volset(volume),-1);
 }
 
-void I_SetMIDIMusicVolume(INT32 volume)
-{
-	if (nomidimusic)
-		return;
-
-	// Now set volume on output device.
-	set_volume (-1, Volset(volume));
-}
-
 //
 // Starting a sound means adding it
 //  to the current list of active sounds
@@ -541,7 +532,7 @@ void I_SetDigMusicVolume(INT32 volume)
 		return;
 
 	// Now set volume on output device.
-//	CONS_Printf("Digital music not yet supported under DOS.\n");
+	set_volume (-1, Volset(volume));
 }
 
 boolean I_SetSongSpeed(float speed)
diff --git a/src/dummy/i_sound.c b/src/dummy/i_sound.c
index 51dbb610d13657ab567bfd8314ea53dc6ba40350..89ccc2b6a911aca69bea4d5b79361e33a94e945f 100644
--- a/src/dummy/i_sound.c
+++ b/src/dummy/i_sound.c
@@ -83,11 +83,6 @@ void I_InitMIDIMusic(void){}
 
 void I_ShutdownMIDIMusic(void){}
 
-void I_SetMIDIMusicVolume(UINT8 volume)
-{
-	(void)volume;
-}
-
 INT32 I_RegisterSong(void *data, size_t len)
 {
 	(void)data;
diff --git a/src/sdl/sdl_sound.c b/src/sdl/sdl_sound.c
index 63b51c625415b043c09dcc8b3b8937af46f5be9c..e43afcb572832744254a608aeea713ba6d7a0d55 100644
--- a/src/sdl/sdl_sound.c
+++ b/src/sdl/sdl_sound.c
@@ -1689,21 +1689,6 @@ INT32 I_RegisterSong(void *data, size_t len)
 	return false;
 }
 
-void I_SetMIDIMusicVolume(UINT8 volume)
-{
-#ifdef HAVE_MIXER
-	if ((nomidimusic && nodigimusic) || !musicStarted)
-		return;
-
-	if (Msc_Mutex) SDL_LockMutex(Msc_Mutex);
-	musicvol = volume * 2;
-	if (Msc_Mutex) SDL_UnlockMutex(Msc_Mutex);
-	Mix_VolumeMusic(musicvol);
-#else
-	(void)volume;
-#endif
-}
-
 #ifdef HAVE_LIBGME
 static void I_CleanupGME(void *userdata)
 {
@@ -1963,7 +1948,17 @@ void I_StopDigSong(void)
 
 void I_SetDigMusicVolume(UINT8 volume)
 {
-	I_SetMIDIMusicVolume(volume);
+#ifdef HAVE_MIXER
+	if ((nomidimusic && nodigimusic) || !musicStarted)
+		return;
+
+	if (Msc_Mutex) SDL_LockMutex(Msc_Mutex);
+	musicvol = volume * 2;
+	if (Msc_Mutex) SDL_UnlockMutex(Msc_Mutex);
+	Mix_VolumeMusic(musicvol);
+#else
+	(void)volume;
+#endif
 }
 
 boolean I_SetSongSpeed(float speed)
diff --git a/src/win32/win_cd.c b/src/win32/win_cd.c
index f6c430748e26e42f1654478e061c00ab8fef5877..2278fbddafa522a0f9cf34e7feb93e1617806565 100644
--- a/src/win32/win_cd.c
+++ b/src/win32/win_cd.c
@@ -470,7 +470,6 @@ void I_PlayCD(UINT8 nTrack, UINT8 bLooping)
 
 	//faB: stop MIDI music, MIDI music will restart if volume is upped later
 	cv_digmusicvolume.value = 0;
-	cv_midimusicvolume.value = 0;
 	I_StopSong (0);
 
 	//faB: I don't use the notify message, I'm trying to minimize the delay
diff --git a/src/win32/win_snd.c b/src/win32/win_snd.c
index 88f34abf8a86ef2d2f1c009e8ddceb8cc47d1f2f..281f48ea764cfd634eb1971ea8b1150c73b32231 100644
--- a/src/win32/win_snd.c
+++ b/src/win32/win_snd.c
@@ -815,14 +815,6 @@ void I_ShutdownMIDIMusic(void)
 		I_StopSong(0);
 }
 
-void I_SetMIDIMusicVolume(UINT8 volume)
-{
-	// volume is 0 to 31.
-	midi_volume = volume;
-	if (midimode && music_stream)
-		FMR_MUSIC(FMOD_Channel_SetVolume(music_channel, volume / 31.0));
-}
-
 INT32 I_RegisterSong(void *data, size_t len)
 {
 	FMOD_CREATESOUNDEXINFO fmt;