diff --git a/magick/quantize.c b/magick/quantize.c
index 7fd763c..303fa60 100644
--- a/magick/quantize.c
+++ b/magick/quantize.c
@@ -2686,11 +2686,14 @@
maximum_colors=MaxColormapSize;
if (maximum_colors > MaxColormapSize)
maximum_colors=MaxColormapSize;
- if ((image->columns*image->rows) <= maximum_colors)
- return(DirectToColormapImage(image,&image->exception));
- if ((IsGrayImage(image,&image->exception) != MagickFalse) &&
- (image->matte == MagickFalse))
- (void) SetGrayscaleImage(image);
+ if (IsGrayImage(image,&image->exception) != MagickFalse)
+ {
+ if (image->matte == MagickFalse)
+ (void) SetGrayscaleImage(image);
+ else
+ if ((image->columns*image->rows) <= maximum_colors)
+ return(DirectToColormapImage(image,&image->exception));
+ }
if ((image->storage_class == PseudoClass) &&
(image->colors <= maximum_colors))
return(MagickTrue);