diff --git a/src/s_sound.c b/src/s_sound.c
index e7e346d9308d9700efc5f14b965e330367df51ac..171b59ec4add3cedef20abfe123bb2fd55c5028d 100644
--- a/src/s_sound.c
+++ b/src/s_sound.c
@@ -1606,11 +1606,11 @@ boolean S_MusicPaused(void)
 
 const char *S_MusicName(void)
 {
-	// char *result[7];
-	// strncpy(result, music_name, 7);
-	// result[6] = 0;
-	// return (const char *)&result;
-	return music_name;
+	//return music_name;
+	char *result = (char *)malloc(7);
+	strncpy(result, music_name, 7);
+	result[6] = 0;
+	return result;
 }
 
 boolean S_MusicExists(const char *mname, boolean checkMIDI, boolean checkDigi)