diff --git a/CHANGELOG b/CHANGELOG
index abd42a0b0fb857d2ebe833b21b6a94ac45fcee43..0bb085b1cf5dbfda4e08d2399828b8dbd327f1a8 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -2,6 +2,10 @@
 Changes for U-Boot 1.0.0:
 ======================================================================
 
+* Correct header printing for multi-image files in do_bootm()
+
+* Make CONFIG_SILENT_CONSOLE work with CONFIG_AUTOBOOT_KEYED
+
 * Fix PCI problems on PPChameleon board
 
 * Patch by Steven Scholz, 18 Oct 2003:
diff --git a/common/cmd_bootm.c b/common/cmd_bootm.c
index abdac2385a08ff647a3b1d9b2f7a54dfd5a137c3..07cda5658ad54877b530f62d0799f0ff580a9d91 100644
--- a/common/cmd_bootm.c
+++ b/common/cmd_bootm.c
@@ -205,7 +205,7 @@ int do_bootm (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
 	SHOW_BOOT_PROGRESS (3);
 
 	/* for multi-file images we need the data part, too */
-	print_image_hdr (hdr);
+	print_image_hdr (addr);
 
 	data = addr + sizeof(image_header_t);
 	len  = ntohl(hdr->ih_size);
diff --git a/common/main.c b/common/main.c
index 73f8ff9f0bed86169cf5e5f83c10ccb240790c90..a0c9fe889fed268af4731d4bd6abce9231e6646c 100644
--- a/common/main.c
+++ b/common/main.c
@@ -102,6 +102,18 @@ static __inline__ int abortboot(int bootdelay)
 	u_int presskey_max = 0;
 	u_int i;
 
+#ifdef CONFIG_SILENT_CONSOLE
+	{
+		DECLARE_GLOBAL_DATA_PTR;
+
+		if (gd->flags & GD_FLG_SILENT) {
+			/* Restore serial console */
+			console_assign (stdout, "serial");
+			console_assign (stderr, "serial");
+		}
+	}
+#endif
+
 #  ifdef CONFIG_AUTOBOOT_PROMPT
 	printf (CONFIG_AUTOBOOT_PROMPT, bootdelay);
 #  endif
@@ -180,6 +192,21 @@ static __inline__ int abortboot(int bootdelay)
 		printf("key timeout\n");
 #  endif
 
+#ifdef CONFIG_SILENT_CONSOLE
+	{
+		DECLARE_GLOBAL_DATA_PTR;
+
+		if (abort) {
+			/* permanently enable normal console output */
+			gd->flags &= ~(GD_FLG_SILENT);
+		} else if (gd->flags & GD_FLG_SILENT) {
+			/* Restore silent console */
+			console_assign (stdout, "nulldev");
+			console_assign (stderr, "nulldev");
+		}
+	}
+#endif
+
 	return abort;
 }