diff --git a/src/s_sound.c b/src/s_sound.c
index c9760b2b1889c3aed29bcc9a02b24d3d22231a00..3518ccb8d0d3b926fa5d7afccaa6a0d828acb781 100644
--- a/src/s_sound.c
+++ b/src/s_sound.c
@@ -1584,6 +1584,7 @@ static void Command_Tunes_f(void)
 static void Command_RestartAudio_f(void)
 {
 	S_StopMusic();
+	S_StopSounds();
 	I_ShutdownMusic();
 	I_ShutdownSound();
 	I_StartupSound();
@@ -1592,8 +1593,7 @@ static void Command_RestartAudio_f(void)
 // These must be called or no sound and music until manually set.
 
 	I_SetSfxVolume(cv_soundvolume.value);
-	I_SetDigMusicVolume(cv_digmusicvolume.value);
-	I_SetMIDIMusicVolume(cv_midimusicvolume.value);
+	S_SetMusicVolume(cv_digmusicvolume.value, cv_midimusicvolume.value);
 	if (Playing()) // Gotta make sure the player is in a level
 		P_RestoreMusic(&players[consoleplayer]);
 }