diff --git a/tests/server/sws.c b/tests/server/sws.c
index df0a08da8e7b267cee4b5c0a0156555104d183a4..bf19b724ae88ff8d8a5cfaafd032615bf0ef69a8 100644
--- a/tests/server/sws.c
+++ b/tests/server/sws.c
@@ -37,6 +37,7 @@
 #include <time.h>
 #include <sys/time.h>
 #include <sys/types.h>
+#include <ctype.h>
 
 #ifdef HAVE_UNISTD_H
 #include <unistd.h>
@@ -228,7 +229,7 @@ int ProcessRequest(struct httprequest *req)
       ptr++; /* skip the slash */
 
       /* skip all non-numericals following the slash */
-      while(*ptr && !isdigit(*ptr))
+      while(*ptr && !isdigit((int)*ptr))
         ptr++;
 
       req->testno = strtol(ptr, &ptr, 10);