diff --git a/src/include/sound_server.h b/src/include/sound_server.h
index a18d88422..56b3c6e11 100644
--- a/src/include/sound_server.h
+++ b/src/include/sound_server.h
@@ -274,6 +274,9 @@ extern void WriteSound(void);
     ///	Cleanup sound.
 extern void QuitSound(void);
 
+    /// Close CD
+extern void QuitCD(void);
+
 #else	// }{ WITH_SOUND
 
 /*----------------------------------------------------------------------------
diff --git a/src/sound/sound_server.cpp b/src/sound/sound_server.cpp
index 587d4f619..82ca803aa 100644
--- a/src/sound/sound_server.cpp
+++ b/src/sound/sound_server.cpp
@@ -1222,9 +1222,12 @@ global void QuitSound(void)
 	close(SoundFildes);
 	SoundFildes=-1;
     }
-    
 #endif
+    QuitCD();
+}
 
+global void QuitCD(void)
+{
 #ifdef USE_SDLCD
     if (strcmp(CDMode,":off")) {
 	SDL_CDStop(CDRom);
@@ -1239,7 +1242,6 @@ global void QuitSound(void)
         cd_exit();
     }
 #endif
-
 }
 
 #endif	// } WITH_SOUND