diff --git a/coders/bmp.c b/coders/bmp.c index d164c7042..872996cb9 100644 --- a/coders/bmp.c +++ b/coders/bmp.c @@ -1030,7 +1030,8 @@ static Image *ReadBMPImage(const ImageInfo *image_info,ExceptionInfo *exception) image->rows=(size_t) MagickAbsoluteValue(bmp_info.height); image->depth=bmp_info.bits_per_pixel <= 8 ? bmp_info.bits_per_pixel : 8; image->matte=((bmp_info.alpha_mask != 0) && - (bmp_info.compression == BI_BITFIELDS)) ? MagickTrue : MagickFalse; + ((bmp_info.compression == BI_RGB) && (bmp_info.bits_per_pixel == 32))) ? + MagickTrue : MagickFalse; if (bmp_info.bits_per_pixel < 16) { size_t