...
diff --git a/PerlMagick/Magick.xs b/PerlMagick/Magick.xs
index 00b200a..1eb0662 100644
--- a/PerlMagick/Magick.xs
+++ b/PerlMagick/Magick.xs
@@ -563,6 +563,7 @@
     { "WaveletDenoise", {  {"geometry", StringReference},
       {"threshold", RealReference}, {"softness", RealReference},
       {"channel", MagickChannelOptions} } },
+    { "Colorspace", { {"colorspace", MagickColorspaceOptions} } },
   };
 
 static SplayTreeInfo
@@ -1299,8 +1300,7 @@
               break;
             }
           for ( ; image; image=image->next)
-            (void) TransformImageColorspace(image,(ColorspaceType) sp,
-              exception);
+            image->colorspace=(ColorspaceType) sp;
           break;
         }
       if (LocaleCompare(attribute,"comment") == 0)
@@ -7564,6 +7564,8 @@
     ColorImage         = 288
     WaveletDenoise     = 289
     WaveletDenoiseImage= 290
+    Colorspace         = 291
+    ColorspaceImage    = 292
     MogrifyRegion      = 666
   PPCODE:
   {
@@ -11330,6 +11332,17 @@
             (void) SetImageChannelMask(image,channel_mask);
           break;
         }
+        case 146:  /* Colorspace */
+        {
+          ColorspaceType
+            colorspace;
+
+          colorspace=sRGBColorspace;
+          if (attribute_flag[0] != 0)
+            colorspace=(ColorspaceType) argument_list[0].integer_reference;
+          (void) TransformImageColorspace(image,colorspace,exception);
+          break;
+        }
       }
       if (next != (Image *) NULL)
         (void) CatchImageException(next);