diff --git a/coders/bmp.c b/coders/bmp.c
index e771295..c9c3378 100644
--- a/coders/bmp.c
+++ b/coders/bmp.c
@@ -841,8 +841,8 @@
     image->rows=(size_t) MagickAbsoluteValue(bmp_info.height);
     image->depth=bmp_info.bits_per_pixel <= 8 ? bmp_info.bits_per_pixel : 8;
     image->alpha_trait=(bmp_info.alpha_mask != 0) &&
-      ((bmp_info.compression == BI_RGB) && (bmp_info.bits_per_pixel == 32)) ? 
-      BlendPixelTrait : UndefinedPixelTrait;
+      (bmp_info.compression == BI_BITFIELDS) ? BlendPixelTrait :
+      UndefinedPixelTrait;
     if ((bmp_info.number_colors != 0) || (bmp_info.bits_per_pixel < 16))
       {
         size_t