diff --git a/timidity/readmidi.c b/timidity/readmidi.c
index 2e3ef875dc94d10b3b9550b42493e985de518bc1..06e19f54f9e21efb6862038385f059c80bd20187 100644
--- a/timidity/readmidi.c
+++ b/timidity/readmidi.c
@@ -3350,7 +3350,7 @@ static void smf_time_signature(int32 at, struct timidity_file *tf, int len)
     c = tf_getc(tf);
     b = tf_getc(tf);
 
-    if(n == 0 || d == 0)
+    if(n == 0 || (uint8) d == 0)
     {
 	ctl->cmsg(CMSG_WARNING, VERB_VERBOSE, "Invalid time signature");
 	return;