diff --git a/MagickWand/mogrify.c b/MagickWand/mogrify.c
index 5b2e4f3..a9cb15c 100644
--- a/MagickWand/mogrify.c
+++ b/MagickWand/mogrify.c
@@ -129,9 +129,11 @@
 
   size_t
     iterations,
-    n,
     number_threads;
 
+  ssize_t
+    n;
+
   (void) setlocale(LC_ALL,"");
   (void) setlocale(LC_NUMERIC,"C");
   concurrent=MagickFalse;
@@ -175,7 +177,7 @@
     }
   number_threads=GetOpenMPMaximumThreads();
   serial=0.0;
-  for (n=1; n <= number_threads; n++)
+  for (n=1; n <= (ssize_t) number_threads; n++)
   {
     double
       e,
@@ -185,7 +187,7 @@
     TimerInfo
       *timer;
 
-    SetOpenMPMaximumThreads(n);
+    SetOpenMPMaximumThreads((int) n);
     timer=AcquireTimerInfo();
     if (concurrent == MagickFalse)
       {