diff --git a/firmware/drivers/lcd-16bit-common.c b/firmware/drivers/lcd-16bit-common.c index af1171b401..9d24dfe16e 100644 --- a/firmware/drivers/lcd-16bit-common.c +++ b/firmware/drivers/lcd-16bit-common.c @@ -498,10 +498,11 @@ static void ICODE_ATTR lcd_alpha_bitmap_part_mix( if (stride_alpha) { \ alpha_pixels = stride_alpha - alpha_pixels; \ alpha += alpha_pixels / ALPHA_PIXELS_PER_BYTE; \ - alpha_data = *alpha++ ^ dmask; \ alpha_pixels &= 1; \ - if (alpha_pixels) \ + if (alpha_pixels) { \ + alpha_data = *alpha++ ^ dmask; \ alpha_data >>= ALPHA_BPP; \ + } \ } \ } while(0) #define READ_ALPHA() \