diff --git a/MagickCore/fx.c b/MagickCore/fx.c
index d0989a6..8609008 100644
--- a/MagickCore/fx.c
+++ b/MagickCore/fx.c
@@ -335,12 +335,6 @@
register ssize_t
i;
- if (GetPixelMask(image,p) != 0)
- {
- p+=GetPixelChannels(image);
- q+=GetPixelChannels(noise_image);
- continue;
- }
for (i=0; i < (ssize_t) GetPixelChannels(image); i++)
{
PixelChannel
@@ -356,7 +350,8 @@
if ((traits == UndefinedPixelTrait) ||
(noise_traits == UndefinedPixelTrait))
continue;
- if ((noise_traits & CopyPixelTrait) != 0)
+ if (((noise_traits & CopyPixelTrait) != 0) ||
+ (GetPixelMask(image,p) != 0))
{
SetPixelChannel(noise_image,channel,p[i],q);
continue;