diff --git a/CHANGELOG b/CHANGELOG
index d0bef30..7e46ca8 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -2,6 +2,9 @@
 Changes for U-Boot 1.1.4:
 ======================================================================
 
+* Fix tools/bmp_logo.c using incorrect offset to pixel data
+  Patch by Andrew Dyer, 31 Jan 2005
+
 * Add ARM946E cpu and core module targets; remap memory to 0x00000000
   Patch by Peter Pearse, 2 Feb 2005
 
diff --git a/tools/bmp_logo.c b/tools/bmp_logo.c
index 8e728e2..98be617 100644
--- a/tools/bmp_logo.c
+++ b/tools/bmp_logo.c
@@ -46,7 +46,7 @@
 	FILE	*fp;
 	bitmap_t bmp;
 	bitmap_t *b = &bmp;
-	uint16_t n_colors;
+	uint16_t data_offset, n_colors;
 
 	if (argc < 2) {
 		fprintf (stderr, "Usage: %s file\n", argv[0]);
@@ -67,7 +67,9 @@
 	 * read width and height of the image, and the number of colors used;
 	 * ignore the rest
 	 */
-	skip_bytes (fp, 16);
+	skip_bytes (fp, 8);
+	fread (&data_offset, sizeof (uint16_t), 1, fp);
+	skip_bytes (fp, 6);
 	fread (&b->width,   sizeof (uint16_t), 1, fp);
 	skip_bytes (fp, 2);
 	fread (&b->height,  sizeof (uint16_t), 1, fp);
@@ -78,6 +80,7 @@
 	/*
 	 * Repair endianess.
 	 */
+	data_offset = le_short(data_offset);
 	b->width = le_short(b->width);
 	b->height = le_short(b->height);
 	n_colors = le_short(n_colors);
@@ -129,6 +132,9 @@
 		);
 	}
 
+	/* seek to offset indicated by file header */
+	fseek(fp, (long)data_offset, SEEK_SET);
+
 	/* read the bitmap; leave room for default color map */
 	printf ("\n");
 	printf ("};\n");
