diff --git a/src/sound/music.cpp b/src/sound/music.cpp
index 35a708d8c..b480d37ed 100644
--- a/src/sound/music.cpp
+++ b/src/sound/music.cpp
@@ -368,61 +368,53 @@ global int PlayCDRom(int name)
 **
 **	@return		True if name is handled by the cdrom module.
 */
-local int PlayCDRom(const char* name)
+global int PlayCDRom(int name)
 {
     int i;
     Sample *sample;
 
     if (CDMode == CDModeOff) {
-	if (!strncmp(name, ":", 1)) {
-	    CDDrive = open("/dev/cdrom", O_RDONLY | O_NONBLOCK);
-	    ioctl(CDDrive, CDROMRESET);
+	CDDrive = open("/dev/cdrom", O_RDONLY | O_NONBLOCK);
+	ioctl(CDDrive, CDROMRESET);
 
-	    ioctl(CDDrive, CDROMREADTOCHDR, &CDchdr);
+	ioctl(CDDrive, CDROMREADTOCHDR, &CDchdr);
 
-	    for (i = CDchdr.cdth_trk0; i <= CDchdr.cdth_trk1; ++i){
-		CDtocentry[i].cdte_format = CDROM_LBA;
-		CDtocentry[i].cdte_track = i;
-		ioctl(CDDrive, CDROMREADTOCENTRY, &CDtocentry[i]);
-	    }
-	    NumCDTracks = i - 1;
+	for (i = CDchdr.cdth_trk0; i <= CDchdr.cdth_trk1; ++i){
+	    CDtocentry[i].cdte_format = CDROM_LBA;
+	    CDtocentry[i].cdte_track = i;
+	    ioctl(CDDrive, CDROMREADTOCENTRY, &CDtocentry[i]);
+	}
+	NumCDTracks = i - 1;
 
-	    if (NumCDTracks == 0) {
-		CDMode = CDModeOff;
-		return 1;
-	    }
+	if (NumCDTracks == 0) {
+	    CDMode = CDModeOff;
+	    return 1;
 	}
     }
 
-    if (!strncmp(name, ":", 1)) {
+    StopMusic();
 
-	StopMusic();
-
-	// if mode is play all tracks
-	if (!strcmp(name, ":all")) {
-	    CDMode = CDModeAll;
-	    do {
-		if (CDTrack >= NumCDTracks) {
-		    CDTrack = 0;
-		}
-	    } while (CDtocentry[++CDTrack].cdte_ctrl&CDROM_DATA_TRACK);
-	}
-	// if mode is play random tracks
-	if (!strcmp(name, ":random")) {
-	    CDMode = CDModeRanom;
-	    do {
-		CDTrack = MyRand() % NumCDTracks;
-	    } while (CDtocentry[CDTrack].cdte_ctrl&CDROM_DATA_TRACK);
-	}
-
-	sample = LoadCD(NULL, CDTrack);
-	MusicSample = sample;
-	PlayingMusic = 1;
-	return 1;
+    // if mode is play all tracks
+    if (name == CDModeAll) {
+        CDMode = CDModeAll;
+        do {
+	    if (CDTrack >= NumCDTracks) {
+		CDTrack = 0;
+	    }
+	} while (CDtocentry[++CDTrack].cdte_ctrl&CDROM_DATA_TRACK);
+    }
+    // if mode is play random tracks
+    if (name == CDModeRandom) {
+	CDMode = CDModeRandom;
+	do {
+	    CDTrack = MyRand() % NumCDTracks;
+	} while (CDtocentry[CDTrack].cdte_ctrl&CDROM_DATA_TRACK);
     }
 
-    return 0;
-
+    sample = LoadCD(NULL, CDTrack);
+    MusicSample = sample;
+    PlayingMusic = 1;
+    return 1;
 }
 #endif
 
diff --git a/src/sound/sound_server.cpp b/src/sound/sound_server.cpp
index 72d4b5fbc..869a8e57e 100644
--- a/src/sound/sound_server.cpp
+++ b/src/sound/sound_server.cpp
@@ -255,13 +255,13 @@ global int CDRomCheck(void *unused __attribute__ ((unused)))
 	}
     }
 #elif defined(USE_CDDA)
-    if (CDMode != CDModeOff && CDMode != CDModeStopped)
+    if (CDMode != CDModeOff && CDMode != CDModeStopped
 	    && !PlayingMusic) {
 	DebugLevel0Fn("Playing new track\n");
 	if (CDMode == CDModeAll) {
-	    PlayCDRom(":all");
+	    PlayCDRom(CDModeAll);
 	} else if (CDMode == CDModeRandom) {
-	    PlayCDRom(":random");
+	    PlayCDRom(CDModeRandom);
 	}
     }
 #endif