diff --git a/MagickCore/channel.c b/MagickCore/channel.c
index a78468a..7cae8df 100644
--- a/MagickCore/channel.c
+++ b/MagickCore/channel.c
@@ -333,8 +333,6 @@
       case ExchangeChannelOp:
       case TransferChannelOp:
       {
-        if (LocaleCompare(token,"black") == 0)
-          SetImageColorspace(destination_image,CMYKColorspace,exception);
         i=ParsePixelChannelOption(token);
         if (i < 0)
           {
@@ -344,6 +342,15 @@
             return(destination_image);
           }
         destination_channel=(PixelChannel) i;
+        if ((LocaleCompare(token,"black") == 0) ||
+            (LocaleCompare(token,"c") == 0) ||
+            (LocaleCompare(token,"cyan") == 0) ||
+            (LocaleCompare(token,"k") == 0) ||
+            (LocaleCompare(token,"m") == 0) ||
+            (LocaleCompare(token,"magenta") == 0) ||
+            (LocaleCompare(token,"y") == 0) ||
+            (LocaleCompare(token,"yellow") == 0))
+          SetImageColorspace(destination_image,CMYKColorspace,exception);
         GetMagickToken(p,&p,token);
         break;
       }