...
diff --git a/coders/debug.c b/coders/debug.c
index a334073..a2a038f 100644
--- a/coders/debug.c
+++ b/coders/debug.c
@@ -187,6 +187,9 @@
   register ssize_t
     x;
 
+  size_t
+    imageListLength;
+
   /*
     Open output image file.
   */
@@ -200,6 +203,7 @@
   if (status == MagickFalse)
     return(status);
   scene=0;
+  imageListLength=GetImageListLength(image);
   do
   {
     (void) CopyMagickString(colorspace,CommandOptionToMnemonic(
@@ -257,8 +261,7 @@
     if (GetNextImageInList(image) == (Image *) NULL)
       break;
     image=SyncNextImageInList(image);
-    status=SetImageProgress(image,SaveImagesTag,scene++,
-      GetImageListLength(image));
+    status=SetImageProgress(image,SaveImagesTag,scene++,imageListLength);
     if (status == MagickFalse)
       break;
   } while (image_info->adjoin != MagickFalse);