...
diff --git a/coders/json.c b/coders/json.c
index 332b93e..d68aeaa 100644
--- a/coders/json.c
+++ b/coders/json.c
@@ -1691,6 +1691,9 @@
   MagickOffsetType
     scene;
 
+  size_t
+    imageListLength;
+
   /*
     Open output image file.
   */
@@ -1707,6 +1710,7 @@
   if (file == (FILE *) NULL)
     file=stdout;
   scene=0;
+  imageListLength=GetImageListLength(image);
   do
   {
     if (scene == 0)
@@ -1721,8 +1725,7 @@
       }
     (void) WriteBlobString(image,",\n");
     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);