diff --git a/common/lcd.c b/common/lcd.c
index 4778655a26ae1982223be91014d957eee22164d6..66d4f94f9eae0dcf8e8d57f9327f29b84f67019f 100644
--- a/common/lcd.c
+++ b/common/lcd.c
@@ -888,7 +888,7 @@ int lcd_display_bitmap(ulong bmp_image, int x, int y)
 	}
 
 	/* We support displaying 8bpp BMPs on 16bpp LCDs */
-	if (bpix != bmp_bpix && (bmp_bpix != 8 || bpix != 16 || bpix != 32)) {
+	if (bpix != bmp_bpix && !(bmp_bpix == 8 && bpix == 16)) {
 		printf ("Error: %d bit/pixel mode, but BMP has %d bit/pixel\n",
 			bpix,
 			le16_to_cpu(bmp->header.bit_count));