diff --git a/coders/jnx.c b/coders/jnx.c
index 677640c..d2d498c 100644
--- a/coders/jnx.c
+++ b/coders/jnx.c
@@ -223,10 +223,15 @@
   images=NewImageList();
   for (i=0; i < (ssize_t) jnx_info.levels; i++)
   {
+    MagickOffsetType
+      offset;
+
     register ssize_t
       j;
 
-    (void) SeekBlob(image,(MagickOffsetType) jnx_level_info[i].offset,SEEK_SET);
+    offset=SeekBlob(image,(MagickOffsetType) jnx_level_info[i].offset,SEEK_SET);
+    if (offset != (MagickOffsetType) jnx_level_info[i].offset)
+      continue;
     for (j=0; j < (ssize_t) jnx_level_info[i].count; j++)
     {
       Image
@@ -238,9 +243,6 @@
       int
         tile_offset;
 
-      MagickOffsetType
-        offset;
-
       PointInfo
         northeast,
         southwest;