diff --git a/magick/cache.c b/magick/cache.c
index 3a7c08d..33fdb60 100644
--- a/magick/cache.c
+++ b/magick/cache.c
@@ -4217,10 +4217,10 @@
         MaxTextExtent);
       cache_info->type=DiskCache;
       cache_info->offset=(*offset);
-      if (OpenPixelCache(image,IOMode,exception) == MagickFalse)
+      if (OpenPixelCache(image,ReadMode,exception) == MagickFalse)
         return(MagickFalse);
       *offset+=cache_info->length+page_size-(cache_info->length % page_size);
-      return(MagickTrue);
+      return(SetImageExtent(image,0,0));
     }
   if ((cache_info->mode != ReadMode) && (cache_info->type != MemoryCache) &&
       (cache_info->reference_count == 1))