diff --git a/src/modules/Image/encodings/xwd.c b/src/modules/Image/encodings/xwd.c
index 6b24ba927aa27fe692527abe30363321b7d8d4e7..74b565a79577b1b64d37b587be80e8e2f9db9f45 100644
--- a/src/modules/Image/encodings/xwd.c
+++ b/src/modules/Image/encodings/xwd.c
@@ -302,7 +302,7 @@ void img_xwd__decode(INT32 args,int header_only,int skipcmap)
       n++;
       push_text("image");
 
-      if (s->len-(unsigned int)(header.header_size+header.ncolors*12)<0)
+      if ((size_t)s->len < (header.header_size+header.ncolors*12))
 	 push_empty_string();
       else
 	 push_string(make_shared_binary_string(