diff --git a/arch/arm/lib/board.c b/arch/arm/lib/board.c
index 96c0e30..c620d2c 100644
--- a/arch/arm/lib/board.c
+++ b/arch/arm/lib/board.c
@@ -481,7 +481,7 @@
 	mem_malloc_init (malloc_start, TOTAL_MALLOC_LEN);
 
 #if !defined(CONFIG_SYS_NO_FLASH)
-	puts ("FLASH: ");
+	puts ("Flash: ");
 
 	if ((flash_size = flash_init ()) > 0) {
 # ifdef CONFIG_SYS_FLASH_CHECKSUM
diff --git a/arch/m68k/lib/board.c b/arch/m68k/lib/board.c
index 9a51908..7867ba5 100644
--- a/arch/m68k/lib/board.c
+++ b/arch/m68k/lib/board.c
@@ -460,7 +460,7 @@
 	malloc_bin_reloc ();
 
 #if !defined(CONFIG_SYS_NO_FLASH)
-	puts ("FLASH: ");
+	puts ("Flash: ");
 
 	if ((flash_size = flash_init ()) > 0) {
 # ifdef CONFIG_SYS_FLASH_CHECKSUM
diff --git a/arch/microblaze/lib/board.c b/arch/microblaze/lib/board.c
index b06212e..c5f7ac4 100644
--- a/arch/microblaze/lib/board.c
+++ b/arch/microblaze/lib/board.c
@@ -127,7 +127,7 @@
 	printf ("\tU-Boot Start:0x%08x\n", CONFIG_SYS_TEXT_BASE);
 
 #if defined(CONFIG_CMD_FLASH)
-	puts ("FLASH: ");
+	puts ("Flash: ");
 	bd->bi_flashstart = CONFIG_SYS_FLASH_BASE;
 	if (0 < (flash_size = flash_init ())) {
 		bd->bi_flashsize = flash_size;
diff --git a/arch/powerpc/lib/board.c b/arch/powerpc/lib/board.c
index 9759e23..b88cf6b 100644
--- a/arch/powerpc/lib/board.c
+++ b/arch/powerpc/lib/board.c
@@ -717,7 +717,7 @@
 	mem_malloc_init (malloc_start, TOTAL_MALLOC_LEN);
 
 #if !defined(CONFIG_SYS_NO_FLASH)
-	puts ("FLASH: ");
+	puts ("Flash: ");
 
 	if (board_flash_wp_on()) {
 		printf("Uninitialized - Write Protect On\n");
diff --git a/arch/sh/lib/board.c b/arch/sh/lib/board.c
index cdac382..968566c 100644
--- a/arch/sh/lib/board.c
+++ b/arch/sh/lib/board.c
@@ -48,9 +48,9 @@
 	gd->bd->bi_flashsize = flash_init();
 
 	if (gd->bd->bi_flashsize >= (1024 * 1024))
-		printf("FLASH: %ldMB\n", gd->bd->bi_flashsize / (1024*1024));
+		printf("Flash: %ldMB\n", gd->bd->bi_flashsize / (1024*1024));
 	else
-		printf("FLASH: %ldKB\n", gd->bd->bi_flashsize / 1024);
+		printf("Flash: %ldKB\n", gd->bd->bi_flashsize / 1024);
 
 	return 0;
 }
diff --git a/arch/sparc/lib/board.c b/arch/sparc/lib/board.c
index ab31cfb..386cd04 100644
--- a/arch/sparc/lib/board.c
+++ b/arch/sparc/lib/board.c
@@ -284,7 +284,7 @@
 	malloc_bin_reloc();
 
 #if !defined(CONFIG_SYS_NO_FLASH)
-	puts("FLASH: ");
+	puts("Flash: ");
 
 	if ((flash_size = flash_init()) > 0) {
 # ifdef CONFIG_SYS_FLASH_CHECKSUM
diff --git a/board/xes/xpedite517x/xpedite517x.c b/board/xes/xpedite517x/xpedite517x.c
index 572a908..61443aa 100644
--- a/board/xes/xpedite517x/xpedite517x.c
+++ b/board/xes/xpedite517x/xpedite517x.c
@@ -48,7 +48,7 @@
 	 */
 	flash_sel = !((pca953x_get_val(CONFIG_SYS_I2C_PCA953X_ADDR0) &
 			CONFIG_SYS_PCA953X_C0_FLASH_PASS_CS));
-	printf("FLASH: Executed from FLASH%d\n", flash_sel ? 2 : 1);
+	printf("Flash: Executed from flash%d\n", flash_sel ? 2 : 1);
 
 	if (flash_sel) {
 		set_lbc_br(0, CONFIG_SYS_BR1_PRELIM);
diff --git a/board/xes/xpedite520x/xpedite520x.c b/board/xes/xpedite520x/xpedite520x.c
index dc5c965..c79171d 100644
--- a/board/xes/xpedite520x/xpedite520x.c
+++ b/board/xes/xpedite520x/xpedite520x.c
@@ -47,7 +47,7 @@
 	 */
 	flash_sel = !((pca953x_get_val(CONFIG_SYS_I2C_PCA953X_ADDR0) &
 			CONFIG_SYS_PCA953X_FLASH_PASS_CS));
-	printf("FLASH: Executed from FLASH%d\n", flash_sel ? 2 : 1);
+	printf("Flash: Executed from flash%d\n", flash_sel ? 2 : 1);
 
 	if (flash_sel) {
 		set_lbc_br(0, CONFIG_SYS_BR1_PRELIM);
diff --git a/board/xes/xpedite537x/xpedite537x.c b/board/xes/xpedite537x/xpedite537x.c
index 89fa6c7..d074495 100644
--- a/board/xes/xpedite537x/xpedite537x.c
+++ b/board/xes/xpedite537x/xpedite537x.c
@@ -47,7 +47,7 @@
 	 */
 	flash_sel = !((pca953x_get_val(CONFIG_SYS_I2C_PCA953X_ADDR0) &
 			CONFIG_SYS_PCA953X_C0_FLASH_PASS_CS));
-	printf("FLASH: Executed from FLASH%d\n", flash_sel ? 2 : 1);
+	printf("Flash: Executed from flash%d\n", flash_sel ? 2 : 1);
 
 	if (flash_sel) {
 		set_lbc_br(0, CONFIG_SYS_BR1_PRELIM);
diff --git a/board/xes/xpedite550x/xpedite550x.c b/board/xes/xpedite550x/xpedite550x.c
index 2ad30a3..6f91c83 100644
--- a/board/xes/xpedite550x/xpedite550x.c
+++ b/board/xes/xpedite550x/xpedite550x.c
@@ -47,7 +47,7 @@
 	 */
 	flash_sel = !((pca953x_get_val(CONFIG_SYS_I2C_PCA953X_ADDR0) &
 			CONFIG_SYS_PCA953X_C0_FLASH_PASS_CS));
-	printf("FLASH: Executed from FLASH%d\n", flash_sel ? 2 : 1);
+	printf("Flash: Executed from flash%d\n", flash_sel ? 2 : 1);
 
 	if (flash_sel) {
 		set_lbc_br(0, CONFIG_SYS_BR1_PRELIM);
diff --git a/drivers/mtd/cfi_flash.c b/drivers/mtd/cfi_flash.c
index 1e8d375..dd394a8 100644
--- a/drivers/mtd/cfi_flash.c
+++ b/drivers/mtd/cfi_flash.c
@@ -1158,7 +1158,7 @@
 		return;
 	}
 
-	printf ("%s FLASH (%d x %d)",
+	printf ("%s flash (%d x %d)",
 		info->name,
 		(info->portwidth << 3), (info->chipwidth << 3));
 	if (info->size < 1024*1024)
@@ -2110,7 +2110,7 @@
 		size += flash_info[i].size;
 		if (flash_info[i].flash_id == FLASH_UNKNOWN) {
 #ifndef CONFIG_SYS_FLASH_QUIET_TEST
-			printf ("## Unknown FLASH on Bank %d "
+			printf ("## Unknown flash on Bank %d "
 				"- Size = 0x%08lx = %ld MB\n",
 				i+1, flash_info[i].size,
 				flash_info[i].size >> 20);
