diff --git a/magick/fx.c b/magick/fx.c
index 18dbb1b..05d2437 100644
--- a/magick/fx.c
+++ b/magick/fx.c
@@ -4614,6 +4614,7 @@
   j=0;
   depth=stegano_image->depth;
   k=image->offset;
+  status=MagickTrue;
   watermark_view=AcquireCacheView(watermark);
   stegano_view=AcquireCacheView(stegano_image);
   for (i=(ssize_t) depth-1; (i >= 0) && (j < (ssize_t) depth); i--)
@@ -4675,6 +4676,11 @@
   watermark_view=DestroyCacheView(watermark_view);
   if (stegano_image->storage_class == PseudoClass)
     (void) SyncImage(stegano_image);
+  if (status == MagickFalse)
+    {
+      stegano_image=DestroyImage(stegano_image);
+      return((Image *) NULL);
+    }
   return(stegano_image);
 }
 
@@ -4771,6 +4777,7 @@
   /*
     Copy left image to red channel and right image to blue channel.
   */
+  status=MagickTrue;
   for (y=0; y < (ssize_t) stereo_image->rows; y++)
   {
     register const PixelPacket
@@ -4813,6 +4820,11 @@
           status=MagickFalse;
       }
   }
+  if (status == MagickFalse)
+    {
+      stereo_image=DestroyImage(stereo_image);
+      return((Image *) NULL);
+    }
   return(stereo_image);
 }