diff --git a/MagickCore/blob.c b/MagickCore/blob.c
index 6436802..122ff10 100644
--- a/MagickCore/blob.c
+++ b/MagickCore/blob.c
@@ -2783,13 +2783,11 @@
       {
         count=read(fileno(image->blob->file_info.file),q+i,(size_t) MagickMin(
           length-i,SSIZE_MAX));
-        if (count > 0)
-          continue;
-        count=0;
-        if (errno != EINTR)
+        if (count <= 0)
           {
-            i=0;
-            break;
+            count=0;
+            if (errno != EINTR)
+              break;
           }
       }
       count=i;
@@ -4053,13 +4051,11 @@
       {
         count=write(fileno(image->blob->file_info.file),data+i,(size_t)
           MagickMin(length-i,SSIZE_MAX));
-        if (count > 0)
-          continue;
-        count=0;
-        if (errno != EINTR)
+        if (count <= 0)
           {
-            i=0;
-            break;
+            count=0;
+            if (errno != EINTR)
+              break;
           }
       }
       count=i;