diff --git a/coders/art.c b/coders/art.c
index 9cd9b51..677f2fa 100644
--- a/coders/art.c
+++ b/coders/art.c
@@ -310,7 +310,7 @@
   if ((image->columns > 65535UL) || (image->rows > 65535UL))
     ThrowWriterException(ImageError,"WidthOrHeightExceedsLimit");
   if ((IssRGBColorspace(image->colorspace) == MagickFalse) &&
-      (IssRGBColorspace(image->colorspace) == MagickFalse))
+      (IsRGBColorspace(image->colorspace) == MagickFalse))
     (void) TransformImageColorspace(image,sRGBColorspace,exception);
   (void) SetImageType(image,BilevelType,exception);
   image->endian=MSBEndian;
diff --git a/coders/avs.c b/coders/avs.c
index bd5217c..5d8a8aa 100644
--- a/coders/avs.c
+++ b/coders/avs.c
@@ -361,7 +361,7 @@
       Write AVS header.
     */
     if ((IssRGBColorspace(image->colorspace) == MagickFalse) &&
-        (IssRGBColorspace(image->colorspace) == MagickFalse))
+        (IsRGBColorspace(image->colorspace) == MagickFalse))
       (void) TransformImageColorspace(image,sRGBColorspace,exception);
     (void) WriteBlobMSBLong(image,(unsigned int) image->columns);
     (void) WriteBlobMSBLong(image,(unsigned int) image->rows);
diff --git a/coders/bgr.c b/coders/bgr.c
index e0fad91..5f9cd81 100644
--- a/coders/bgr.c
+++ b/coders/bgr.c
@@ -1106,7 +1106,7 @@
       Convert MIFF to BGR raster pixels.
     */
     if ((IssRGBColorspace(image->colorspace) == MagickFalse) &&
-        (IssRGBColorspace(image->colorspace) == MagickFalse))
+        (IsRGBColorspace(image->colorspace) == MagickFalse))
       (void) TransformImageColorspace(image,sRGBColorspace,exception);
     if ((LocaleCompare(image_info->magick,"BGRA") == 0) &&
         (image->matte == MagickFalse))
diff --git a/coders/bmp.c b/coders/bmp.c
index db8074f..e738fe3 100644
--- a/coders/bmp.c
+++ b/coders/bmp.c
@@ -1524,7 +1524,7 @@
       Initialize BMP raster file header.
     */
     if ((IssRGBColorspace(image->colorspace) == MagickFalse) &&
-        (IssRGBColorspace(image->colorspace) == MagickFalse))
+        (IsRGBColorspace(image->colorspace) == MagickFalse))
       (void) TransformImageColorspace(image,sRGBColorspace,exception);
     (void) ResetMagickMemory(&bmp_info,0,sizeof(bmp_info));
     bmp_info.file_size=14+12;
diff --git a/coders/cip.c b/coders/cip.c
index d199484..df11645 100644
--- a/coders/cip.c
+++ b/coders/cip.c
@@ -236,7 +236,7 @@
   (void) WriteBlobString(image,buffer);
   (void) WriteBlobString(image,"<Data>");
   if ((IssRGBColorspace(image->colorspace) == MagickFalse) &&
-      (IssRGBColorspace(image->colorspace) == MagickFalse))
+      (IsRGBColorspace(image->colorspace) == MagickFalse))
     (void) TransformImageColorspace(image,sRGBColorspace,exception);
   for (y=0; y < (ssize_t) image->rows; y++)
   {
diff --git a/coders/dib.c b/coders/dib.c
index f91da64..c0325ec 100644
--- a/coders/dib.c
+++ b/coders/dib.c
@@ -1011,7 +1011,7 @@
     Initialize DIB raster file header.
   */
   if ((IssRGBColorspace(image->colorspace) == MagickFalse) &&
-      (IssRGBColorspace(image->colorspace) == MagickFalse))
+      (IsRGBColorspace(image->colorspace) == MagickFalse))
     (void) TransformImageColorspace(image,sRGBColorspace,exception);
   if (image->storage_class == DirectClass)
     {
diff --git a/coders/png.c b/coders/png.c
index b7a5065..14e032f 100644
--- a/coders/png.c
+++ b/coders/png.c
@@ -8265,8 +8265,9 @@
      if (mng_info->write_png_colortype != 7) /* We won't need this info */
        {
          ping_have_color=MagickFalse;
-         if ((IsGrayColorspace(image->colorspace) == MagickFalse) &&
-             (IsRGBColorspace(image->colorspace) == MagickFalse))
+         if ((IssRGBColorspace(image->colorspace) == MagickFalse) &&
+             (IsRGBColorspace(image->colorspace) == MagickFalse) &&
+             (IsGrayColorspace(image->colorspace) == MagickFalse))
            ping_have_color=MagickTrue;
          ping_have_non_bw=MagickFalse;
 
diff --git a/coders/psd.c b/coders/psd.c
index a59aae5..03059ca 100644
--- a/coders/psd.c
+++ b/coders/psd.c
@@ -703,8 +703,8 @@
         }
         case 4:
         {
-          if ((IssRGBColorspace(image->colorspace) != MagickFalse) &&
-              (IsRGBColorspace(image->colorspace) != MagickFalse) &&
+          if (((IssRGBColorspace(image->colorspace) != MagickFalse) ||
+               (IsRGBColorspace(image->colorspace) != MagickFalse)) &&
               (channels > 3))
             break;
           if (image->matte != MagickFalse)
diff --git a/coders/tiff.c b/coders/tiff.c
index e29364c..70410fb 100644
--- a/coders/tiff.c
+++ b/coders/tiff.c
@@ -2972,7 +2972,8 @@
         if (image_info->quality != UndefinedCompressionQuality)
           (void) TIFFSetField(tiff,TIFFTAG_JPEGQUALITY,image_info->quality);
         (void) TIFFSetField(tiff,TIFFTAG_JPEGCOLORMODE,JPEGCOLORMODE_RAW);
-        if (IssRGBColorspace(image->colorspace) == MagickTrue)
+        if ((IssRGBColorspace(image->colorspace) != MagickFalse) ||
+            (IsRGBColorspace(image->colorspace) != MagickFalse))
           {
             const char
               *value;
diff --git a/coders/xpm.c b/coders/xpm.c
index 1f95dc4..fe91d7d 100644
--- a/coders/xpm.c
+++ b/coders/xpm.c
@@ -879,7 +879,8 @@
   status=OpenBlob(image_info,image,WriteBinaryBlobMode,exception);
   if (status == MagickFalse)
     return(status);
-  if (IssRGBColorspace(image->colorspace) == MagickFalse)
+  if ((IssRGBColorspace(image->colorspace) == MagickFalse) &&
+      (IsRGBColorspace(image->colorspace) == MagickFalse))
     (void) TransformImageColorspace(image,sRGBColorspace,exception);
   opacity=(-1);
   if (image->matte == MagickFalse)