diff --git a/coders/dib.c b/coders/dib.c
index 485ac05..9ae1748 100644
--- a/coders/dib.c
+++ b/coders/dib.c
@@ -1105,7 +1105,8 @@
            }
         for (x=(ssize_t) (image->columns+7)/8; x < (ssize_t) bytes_per_line; x++)
           *q++=0x00;
-        status=SetImageProgress(image,SaveImageTag,y,image->rows);
+        status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
         if (status == MagickFalse)
           break;
       }
@@ -1127,7 +1128,8 @@
           *q++=(unsigned char) indexes[x];
         for ( ; x < (ssize_t) bytes_per_line; x++)
           *q++=0x00;
-        status=SetImageProgress(image,SaveImageTag,y,image->rows);
+        status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
         if (status == MagickFalse)
           break;
       }
@@ -1158,7 +1160,8 @@
         }
         for (x=2L*image->columns; x < (ssize_t) bytes_per_line; x++)
           *q++=0x00;
-        status=SetImageProgress(image,SaveImageTag,y,image->rows);
+        status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
         if (status == MagickFalse)
           break;
       }
@@ -1188,7 +1191,8 @@
         if (dib_info.bits_per_pixel == 24)
           for (x=3L*image->columns; x < (ssize_t) bytes_per_line; x++)
             *q++=0x00;
-        status=SetImageProgress(image,SaveImageTag,y,image->rows);
+        status=SetImageProgress(image,SaveImageTag,(MagickOffsetType) y,
+                image->rows);
         if (status == MagickFalse)
           break;
       }