diff --git a/src/s_sound.c b/src/s_sound.c
index ef673c9afe87ee6f557951f48ec25ce0565c241a..8e4e7715d0d37dfcca1b1c774df74c446384cb36 100644
--- a/src/s_sound.c
+++ b/src/s_sound.c
@@ -1685,7 +1685,7 @@ boolean S_PrepareSoundTest(void)
 		soundtestdefs[pos++] = def;
 		if (def->soundtestcond > 0 && !(mapvisited[def->soundtestcond-1] & MV_BEATEN))
 			continue;
-		if (def->soundtestcond < 0 && !M_Achieved(1-def->soundtestcond))
+		if (def->soundtestcond < 0 && !M_Achieved(-1-def->soundtestcond))
 			continue;
 		def->allowed = true;
 	}