diff --git a/CHANGELOG b/CHANGELOG
index 0aa06bb..6ec62cb 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -2,6 +2,9 @@
 Changes since U-Boot 0.4.0:
 ======================================================================
 
+* Rewrite command lookup and help command (fix problems with bubble
+  sort when sorting command name list). Minor cleanup here and there.
+
 * Merge from "stable branch", tag LABEL_2003_06_28_1800-stable:
   - Allow to call sysmon function interactively
   - PIC on LWMON board needs delay after power-on
diff --git a/common/cmd_bdinfo.c b/common/cmd_bdinfo.c
index 3f73cf8..542e25b 100644
--- a/common/cmd_bdinfo.c
+++ b/common/cmd_bdinfo.c
@@ -26,6 +26,7 @@
  */
 #include <common.h>
 #include <command.h>
+#include <net.h>		/* for print_IPaddr */
 
 
 #if (CONFIG_COMMANDS & CFG_CMD_BDI)
diff --git a/common/cmd_bootm.c b/common/cmd_bootm.c
index 7ade068..1327e34 100644
--- a/common/cmd_bootm.c
+++ b/common/cmd_bootm.c
@@ -873,7 +873,14 @@
 }
 
 cmd_tbl_t U_BOOT_CMD(BOOTD) = MK_CMD_ENTRY(
- 	"bootd",	1,	1,	do_bootd,
+ 	"boot",	1,	1,	do_bootd,
+ 	"boot    - boot default, i.e., run 'bootcmd'\n",
+	NULL
+);
+
+/* keep old command name "bootd" for backward compatibility */
+cmd_tbl_t U_BOOT_CMD(BOOTD) = MK_CMD_ENTRY(
+ 	"bootd", 1,	1,	do_bootd,
  	"bootd   - boot default, i.e., run 'bootcmd'\n",
 	NULL
 );
diff --git a/common/cmd_mem.c b/common/cmd_mem.c
index 944aada..4d02d2d 100644
--- a/common/cmd_mem.c
+++ b/common/cmd_mem.c
@@ -36,8 +36,10 @@
 #include <dataflash.h>
 #endif
 
-#if (CONFIG_COMMANDS & (CFG_CMD_MEMORY | CFG_CMD_PCI | CFG_CMD_I2C\
-			| CMD_CMD_PORTIO))
+#if (CONFIG_COMMANDS & (CFG_CMD_MEMORY	| \
+			CFG_CMD_I2C	| \
+			CFG_CMD_PCI	| \
+			CMD_CMD_PORTIO	) )
 int cmd_get_data_size(char* arg, int default_size)
 {
 	/* Check for a size specification .b, .w or .l.
diff --git a/common/command.c b/common/command.c
index 607c746..059da7c 100644
--- a/common/command.c
+++ b/common/command.c
@@ -72,44 +72,44 @@
 
 	if (argc == 1) {	/*show list of commands */
 
-		int cmd_items = (((int) &__u_boot_cmd_end) -
-				 ((int) &__u_boot_cmd_start)) /
-				sizeof (*cmdtp);
-		int end_sort;
-		cmd_tbl_t *cmd_array[(cmd_items + 1)];
-		int i;
+		int cmd_items = &__u_boot_cmd_end -
+				&__u_boot_cmd_start;	/* pointer arith! */
+		cmd_tbl_t *cmd_array[cmd_items];
+		int i, j, swaps;
 
-		/* Make list of commands from .uboot_cmd section */
-		cmdtp = (cmd_tbl_t *) & __u_boot_cmd_start;
-		for (i = 1; i <= cmd_items; i++) {
-			cmd_array[i] = cmdtp;
-			cmdtp++;
+		/* Make array of commands from .uboot_cmd section */
+		cmdtp = &__u_boot_cmd_start;
+		for (i = 0; i < cmd_items; i++) {
+			cmd_array[i] = cmdtp++;
 		}
-		/* Sort command list */
-		end_sort = 0;
-		for (i = 1; end_sort != 1 || i <= cmd_items - 1; i++) {
-			if (i == cmd_items) {	/* Last command */
-				end_sort = 1;
-				i = 1;
-			}
 
-			if (strcmp (cmd_array[i]->name, cmd_array[i + 1]->name) > 0) {
-				end_sort = 0;
-				*cmd_array[0] = *cmd_array[i];
-				*cmd_array[i] = *cmd_array[i + 1];
-				*cmd_array[i + 1] = *cmd_array[0];
+		/* Sort command list (trivial bubble sort) */
+		for (i = cmd_items - 1; i > 0; --i) {
+			swaps = 0;
+			for (j = 0; j < i; ++j) {
+				if (strcmp (cmd_array[j]->name,
+					    cmd_array[j + 1]->name) > 0) {
+					cmd_tbl_t *tmp;
+					tmp = cmd_array[j];
+					cmd_array[j] = cmd_array[j + 1];
+					cmd_array[j + 1] = tmp;
+					++swaps;
+				}
 			}
+			if (!swaps)
+				break;
 		}
 
 		/* print short help (usage) */
-		for (cmdtp = (cmd_tbl_t *) & __u_boot_cmd_start;
-			 cmdtp != (cmd_tbl_t *) & __u_boot_cmd_end; cmdtp++) {
+		for (i = 0; i < cmd_items; i++) {
+			const char *usage = cmd_array[i]->usage;
+
 			/* allow user abort */
 			if (ctrlc ())
 				return 1;
-			if (cmdtp->usage == NULL)
+			if (usage == NULL)
 				continue;
-			puts (cmdtp->usage);
+			puts (usage);
 		}
 		return 0;
 	}
@@ -181,21 +181,31 @@
 cmd_tbl_t *find_cmd (const char *cmd)
 {
 	cmd_tbl_t *cmdtp;
-
 	cmd_tbl_t *cmdtp_temp = &__u_boot_cmd_start;	/*Init value */
-	int one_cmd_name = 0;
+	const char *p;
+	int len;
+	int n_found = 0;
 
-	for (cmdtp = &__u_boot_cmd_start; cmdtp != &__u_boot_cmd_end; cmdtp++) {
-		if ((strncmp (cmd, cmdtp->name, strlen (cmd)) == 0) &&
-		    (strlen (cmd) == strlen (cmdtp->name)))
-			return cmdtp;
-		else if (strncmp (cmd, cmdtp->name, strlen (cmd)) == 0) {
-			cmdtp_temp = cmdtp;
-			one_cmd_name++;
-		} else;
+	/*
+	 * Some commands allow length modifiers (like "cp.b");
+	 * compare command name only until first dot.
+	 */
+	len = ((p = strchr(cmd, '.')) == NULL) ? strlen (cmd) : (p - cmd);
+
+	for (cmdtp = &__u_boot_cmd_start;
+	     cmdtp != &__u_boot_cmd_end;
+	     cmdtp++) {
+		if (strncmp (cmd, cmdtp->name, len) == 0) {
+			if (len == strlen (cmdtp->name))
+				return cmdtp;	/* full match */
+
+			cmdtp_temp = cmdtp;	/* abbreviated command ? */
+			n_found++;
+		}
 	}
-	if (one_cmd_name == 1)
+	if (n_found == 1) {			/* exactly one match */
 		return cmdtp_temp;
+	}
 
-	return NULL;	/* not found || one_cmd_name >2 */
+	return NULL;	/* not found or ambiguous command */
 }
diff --git a/lib_ppc/board.c b/lib_ppc/board.c
index 044d8f8..daa2a6d 100644
--- a/lib_ppc/board.c
+++ b/lib_ppc/board.c
@@ -401,9 +401,7 @@
 #ifdef CONFIG_LOGBUFFER
 	/* reserve kernel log buffer */
 	addr -= (LOGBUFF_RESERVE);
-# ifdef DEBUG
-	printf ("Reserving %ldk for kernel logbuffer at %08lx\n", LOGBUFF_LEN, addr);
-# endif
+	debug ("Reserving %dk for kernel logbuffer at %08lx\n", LOGBUFF_LEN, addr);
 #endif
 
 #ifdef CONFIG_PRAM
@@ -413,16 +411,12 @@
 	i = getenv_r ("pram", tmp, sizeof (tmp));
 	reg = (i > 0) ? simple_strtoul (tmp, NULL, 10) : CONFIG_PRAM;
 	addr -= (reg << 10);		/* size is in kB */
-# ifdef DEBUG
-	printf ("Reserving %ldk for protected RAM at %08lx\n", reg, addr);
-# endif
+	debug ("Reserving %ldk for protected RAM at %08lx\n", reg, addr);
 #endif /* CONFIG_PRAM */
 
 	/* round down to next 4 kB limit */
 	addr &= ~(4096 - 1);
-#ifdef DEBUG
-	printf ("Top of RAM usable for U-Boot at: %08lx\n", addr);
-#endif
+	debug ("Top of RAM usable for U-Boot at: %08lx\n", addr);
 
 #ifdef CONFIG_LCD
 	/* reserve memory for LCD display (always full pages) */
@@ -443,9 +437,7 @@
 	addr -= len;
 	addr &= ~(4096 - 1);
 
-#ifdef DEBUG
-	printf ("Reserving %ldk for U-Boot at: %08lx\n", len >> 10, addr);
-#endif
+	debug ("Reserving %ldk for U-Boot at: %08lx\n", len >> 10, addr);
 
 #ifdef CONFIG_AMIGAONEG3SE
 	gd->relocaddr = addr;
@@ -455,10 +447,8 @@
 	 * reserve memory for malloc() arena
 	 */
 	addr_sp = addr - TOTAL_MALLOC_LEN;
-#ifdef DEBUG
-	printf ("Reserving %dk for malloc() at: %08lx\n",
+	debug ("Reserving %dk for malloc() at: %08lx\n",
 			TOTAL_MALLOC_LEN >> 10, addr_sp);
-#endif
 
 	/*
 	 * (permanently) allocate a Board Info struct
@@ -467,16 +457,12 @@
 	addr_sp -= sizeof (bd_t);
 	bd = (bd_t *) addr_sp;
 	gd->bd = bd;
-#ifdef DEBUG
-	printf ("Reserving %d Bytes for Board Info at: %08lx\n",
+	debug ("Reserving %d Bytes for Board Info at: %08lx\n",
 			sizeof (bd_t), addr_sp);
-#endif
 	addr_sp -= sizeof (gd_t);
 	id = (gd_t *) addr_sp;
-#ifdef DEBUG
-	printf ("Reserving %d Bytes for Global Data at: %08lx\n",
+	debug ("Reserving %d Bytes for Global Data at: %08lx\n",
 			sizeof (gd_t), addr_sp);
-#endif
 
 	/*
 	 * Finally, we set up a new (bigger) stack.
@@ -488,9 +474,7 @@
 	addr_sp &= ~0xF;
 	*((ulong *) addr_sp)-- = 0;
 	*((ulong *) addr_sp)-- = 0;
-#ifdef DEBUG
-	printf ("Stack Pointer at: %08lx\n", addr_sp);
-#endif
+	debug ("Stack Pointer at: %08lx\n", addr_sp);
 
 	/*
 	 * Save local variables to board info struct
@@ -536,9 +520,7 @@
 #endif
 #endif
 
-#ifdef DEBUG
-	printf ("New Stack Pointer is: %08lx\n", addr_sp);
-#endif
+	debug ("New Stack Pointer is: %08lx\n", addr_sp);
 
 	WATCHDOG_RESET ();
 
@@ -588,9 +570,7 @@
 
 	gd->flags |= GD_FLG_RELOC;	/* tell others: relocation done */
 
-#ifdef DEBUG
-	printf ("Now running in RAM - U-Boot at: %08lx\n", dest_addr);
-#endif
+	debug ("Now running in RAM - U-Boot at: %08lx\n", dest_addr);
 
 	WATCHDOG_RESET ();
 
@@ -847,9 +827,7 @@
     defined(CONFIG_SPD823TS)	)
 
 	WATCHDOG_RESET ();
-# ifdef DEBUG
-	puts ("Reset Ethernet PHY\n");
-# endif
+	debug ("Reset Ethernet PHY\n");
 	reset_phy ();
 #endif
 
@@ -859,9 +837,7 @@
 	kgdb_init ();
 #endif
 
-#ifdef DEBUG
-	printf ("U-Boot relocated to %08lx\n", dest_addr);
-#endif
+	debug ("U-Boot relocated to %08lx\n", dest_addr);
 
 	/*
 	 * Enable Interrupts
