--- u-boot/common/cmd_bootm.c	2005-06-20 12:17:40.000000000 +0200
+++ u-boot-1.1.2/common/cmd_bootm.c	2005-07-27 10:05:30.868317211 +0200
@@ -204,19 +204,21 @@
 	}
 	SHOW_BOOT_PROGRESS (3);
 
+#ifdef CONFIG_HAS_DATAFLASH
+	if (addr_dataflash(addr)){
+		len  = ntohl(hdr->ih_size) + sizeof(image_header_t);
+		read_dataflash(addr, len, (char *)CFG_LOAD_ADDR);
+		addr = CFG_LOAD_ADDR;
+	}
+#endif
+
+
 	/* for multi-file images we need the data part, too */
 	print_image_hdr ((image_header_t *)addr);
 
 	data = addr + sizeof(image_header_t);
 	len  = ntohl(hdr->ih_size);
 
-#ifdef CONFIG_HAS_DATAFLASH
-	if (addr_dataflash(addr)){
-		read_dataflash(data, len, (char *)CFG_LOAD_ADDR);
-		data = CFG_LOAD_ADDR;
-	}
-#endif
-
 	if (verify) {
 		puts ("   Verifying Checksum ... ");
 		if (crc32 (0, (char *)data, len) != ntohl(hdr->ih_dcrc)) {

