diff --git a/CHANGELOG b/CHANGELOG
index 1b47ce461597eeb402f88315d289aacd5ffdbeba..54420fc195c9c1f9ddc791eb440d031f6e65ac7e 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -2,6 +2,9 @@
 Changes for U-Boot 1.1.4:
 ======================================================================
 
+* Fix computation of framebuffer palette for 8bpp LCD bitmaps
+  Patch by Francesco Mandracci, 16 Sep 2005
+
 * Update configuration for INKA4x0 board
 
 * Update configuration for PM854 board
diff --git a/common/lcd.c b/common/lcd.c
index a85599dd76814f61ef09c63f381eb9099d07539e..7bf7a63fd7b99dcff0eb0a6fa4e0ff37ced4bf05 100644
--- a/common/lcd.c
+++ b/common/lcd.c
@@ -638,9 +638,8 @@ int lcd_display_bitmap(ulong bmp_image, int x, int y)
 			bmp_color_table_entry_t cte = bmp->color_table[i];
 			ushort colreg =
 				( ((cte.red)   << 8) & 0xf800) |
-				( ((cte.green) << 4) & 0x07e0) |
-				( (cte.blue) & 0x001f) ;
-
+				( ((cte.green) << 3) & 0x07e0) |
+				( ((cte.blue)  >> 3) & 0x001f) ;
 #ifdef CFG_INVERT_COLORS
 			*cmap = 0xffff - colreg;
 #else