diff --git a/appveyor.yml b/appveyor.yml
index 89b1eeeb5b7b62b9ac1a888e7f07cec385bb6f8d..ae3f82f58c84ea343e2bd4e32a4797daf4d06c88 100644
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -39,6 +39,10 @@ configuration:
 - SDL
 - DD
 
+matrix:
+  allow_failures:
+    - configuration: DD
+
 before_build:
 - set Path=%MINGW_SDK%\bin;%Path%
 - i686-w64-mingw32-gcc --version
diff --git a/src/win32/win_cd.c b/src/win32/win_cd.c
index adc8480128bca38851d360c9b70863c5ad8d3223..ac1cda8ae96632a63e657b44511b31b04531e54b 100644
--- a/src/win32/win_cd.c
+++ b/src/win32/win_cd.c
@@ -180,9 +180,9 @@ static LPSTR hms(UINT seconds)
 	hours = minutes / 60;
 	minutes %= 60;
 	if (hours > 0)
-		sprintf (s, "%lu:%02u:%02u", (long unsigned int)hours, (unsigned char)minutes, (unsigned char)seconds);
+		sprintf (s, "%lu:%02u:%02u", (long unsigned int)hours, (unsigned char)(minutes%99), (unsigned char)(seconds%99));
 	else
-		sprintf (s, "%2u:%02u", (unsigned char)minutes, (unsigned char)seconds);
+		sprintf (s, "%2u:%02u", (unsigned char)(minutes%99), (unsigned char)(seconds%99));
 	return s;
 }