diff --git a/Magick++/lib/STL.cpp b/Magick++/lib/STL.cpp
index 37e8d8f..6a7a8a1 100644
--- a/Magick++/lib/STL.cpp
+++ b/Magick++/lib/STL.cpp
@@ -194,14 +194,16 @@
 }
 
 // Apply a color matrix to the image channels.  The user supplied
-// matrix may be of order 1 to 6 (1x1 through 6x6).
-Magick::colorMatrixImage::colorMatrixImage( const KernelInfo *color_matrix_ )
-  : _color_matrix( color_matrix_ )
+// matrix may be of order 1 to 5 (1x1 through 5x5).
+Magick::colorMatrixImage::colorMatrixImage( const unsigned int order_,
+              const double *color_matrix_ )
+  : _order( order_ ),
+    _color_matrix( color_matrix_ )
 {
 }
 void Magick::colorMatrixImage::operator()( Image &image_ ) const
 {
-  image_.colorMatrix( _color_matrix );
+  image_.colorMatrix( _order, _color_matrix );
 }
 
 // Convert the image colorspace representation