diff --git a/board/cm5200/fwupdate.c b/board/cm5200/fwupdate.c
index c1a4a19cc0a59dc0d7c3c84ebb81a49b32c1b5e0..9d4eadcb66d4ca7ea4f08a5bd9a11be635b228aa 100644
--- a/board/cm5200/fwupdate.c
+++ b/board/cm5200/fwupdate.c
@@ -35,7 +35,6 @@
 
 #include "fwupdate.h"
 
-extern int do_bootm(cmd_tbl_t *, int, int, char * const []);
 extern long do_fat_read(const char *, void *, unsigned long, int);
 extern int do_fat_fsload(cmd_tbl_t *, int, int, char * const []);
 
diff --git a/board/esd/common/cmd_loadpci.c b/board/esd/common/cmd_loadpci.c
index 87da27db1021c0ce0534b2c6f1ff013aa03f58f5..8f4ad84689de9254f28b5f4e722e28063cb8af77 100644
--- a/board/esd/common/cmd_loadpci.c
+++ b/board/esd/common/cmd_loadpci.c
@@ -29,7 +29,6 @@
 
 #if defined(CONFIG_CMD_BSP)
 
-extern int do_bootm (cmd_tbl_t *, int, int, char *[]);
 extern int do_source (cmd_tbl_t *, int, int, char *[]);
 
 #define ADDRMASK 0xfffff000
diff --git a/board/esd/cpci750/cpci750.c b/board/esd/cpci750/cpci750.c
index f9f7c7fdf15a54780a4465a106661697965b5593..f27d65ed16509cf723f1d3cfa2376dfcd45ace52 100644
--- a/board/esd/cpci750/cpci750.c
+++ b/board/esd/cpci750/cpci750.c
@@ -122,7 +122,6 @@ static char show_config_tab[][15] = {{"PCI0DLL_2     "},  /* 31 */
 
 extern flash_info_t flash_info[];
 
-extern int do_bootm (cmd_tbl_t *, int, int, char *[]);
 extern int do_bootvx (cmd_tbl_t *, int, int, char *[]);
 
 /* ------------------------------------------------------------------------- */
diff --git a/board/esd/pci405/cmd_pci405.c b/board/esd/pci405/cmd_pci405.c
index 2fc9fda5d2def9f37773ff2b5b8cbd784173209e..13f90194264828e7fa2749245dfd6b6aa69195f0 100644
--- a/board/esd/pci405/cmd_pci405.c
+++ b/board/esd/pci405/cmd_pci405.c
@@ -34,8 +34,6 @@
 
 #if defined(CONFIG_CMD_BSP)
 
-extern int do_bootm (cmd_tbl_t *, int, int, char *[]);
-
 /*
  * Command loadpci: wait for signal from host and boot image.
  */
diff --git a/board/pn62/cmd_pn62.c b/board/pn62/cmd_pn62.c
index 58c680b7f79d191b5625dfde70d33c61ced71c39..939cb4ad98789272f049fc5bda9949f5c2fa3f3c 100644
--- a/board/pn62/cmd_pn62.c
+++ b/board/pn62/cmd_pn62.c
@@ -31,8 +31,6 @@
 
 #if defined(CONFIG_CMD_BSP)
 
-extern int do_bootm (cmd_tbl_t *, int, int, char *[]);
-
 /*
  * Command led: controls the various LEDs 0..11 on the PN62 card.
  */
diff --git a/common/cmd_fdc.c b/common/cmd_fdc.c
index 831a07f2c188b276c3c9e8a589c7814b7da0d2c9..cdb050c255980577d460b4e2da15c5b30e804a2f 100644
--- a/common/cmd_fdc.c
+++ b/common/cmd_fdc.c
@@ -826,7 +826,6 @@ int do_fdcboot (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 	/* Check if we should attempt an auto-start */
 	if (((ep = getenv("autostart")) != NULL) && (strcmp(ep,"yes") == 0)) {
 		char *local_args[2];
-		extern int do_bootm (cmd_tbl_t *, int, int, char *[]);
 
 		local_args[0] = argv[0];
 		local_args[1] = NULL;
diff --git a/common/cmd_fdos.c b/common/cmd_fdos.c
index a8822d91b07c5c64dd5106de5eba136faa2c041b..2af4ca0efeb788707b6f40583026767a8f05cf50 100644
--- a/common/cmd_fdos.c
+++ b/common/cmd_fdos.c
@@ -101,7 +101,6 @@ int do_fdosboot(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
     /* Check if we should attempt an auto-start */
     if (((ep = getenv("autostart")) != NULL) && (strcmp(ep,"yes") == 0)) {
 	char *local_args[2];
-	extern int do_bootm (cmd_tbl_t *, int, int, char *[]);
 	local_args[0] = argv[0];
 	local_args[1] = NULL;
 	printf ("Automatic boot of image at addr 0x%08lX ...\n", load_addr);
diff --git a/common/cmd_ide.c b/common/cmd_ide.c
index ea0f4a718592e2f52f1906a3d58808a5af551553..df7bdf56ec4d6f3491ecf979863e905d12872fcc 100644
--- a/common/cmd_ide.c
+++ b/common/cmd_ide.c
@@ -498,7 +498,6 @@ int do_diskboot (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 	/* Check if we should attempt an auto-start */
 	if (((ep = getenv("autostart")) != NULL) && (strcmp(ep,"yes") == 0)) {
 		char *local_args[2];
-		extern int do_bootm (cmd_tbl_t *, int, int, char *[]);
 
 		local_args[0] = argv[0];
 		local_args[1] = NULL;
diff --git a/common/cmd_nand.c b/common/cmd_nand.c
index 634d03684b4365362e31d38c42cb395bfaea9aa7..6783645356fefd35c6a21a7418be5454e806a058 100644
--- a/common/cmd_nand.c
+++ b/common/cmd_nand.c
@@ -789,7 +789,6 @@ static int nand_load_image(cmd_tbl_t *cmdtp, nand_info_t *nand,
 	/* Check if we should attempt an auto-start */
 	if (((ep = getenv("autostart")) != NULL) && (strcmp(ep, "yes") == 0)) {
 		char *local_args[2];
-		extern int do_bootm(cmd_tbl_t *, int, int, char *[]);
 
 		local_args[0] = cmd;
 		local_args[1] = NULL;
diff --git a/common/cmd_net.c b/common/cmd_net.c
index 44d17db19c5fd28dae8e8771a8eb64f1181f303c..c657b0395d59492fe6e33c8582f1884eac83ae7f 100644
--- a/common/cmd_net.c
+++ b/common/cmd_net.c
@@ -28,8 +28,6 @@
 #include <command.h>
 #include <net.h>
 
-extern int do_bootm (cmd_tbl_t *, int, int, char * const []);
-
 static int netboot_common (proto_t, cmd_tbl_t *, int , char * const []);
 
 int do_bootp (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
diff --git a/common/cmd_scsi.c b/common/cmd_scsi.c
index 6b937f9ad33f653a792345a37bb19dfa01d62b84..be4fe741c3f6ea0bfa390f6aab1f67bf1f96a293 100644
--- a/common/cmd_scsi.c
+++ b/common/cmd_scsi.c
@@ -329,7 +329,6 @@ int do_scsiboot (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 	/* Check if we should attempt an auto-start */
 	if (((ep = getenv("autostart")) != NULL) && (strcmp(ep,"yes") == 0)) {
 		char *local_args[2];
-		extern int do_bootm (cmd_tbl_t *, int, int, char *[]);
 		local_args[0] = argv[0];
 		local_args[1] = NULL;
 		printf ("Automatic boot of image at addr 0x%08lX ...\n", addr);
diff --git a/common/cmd_usb.c b/common/cmd_usb.c
index 226ea0dacf1e6e752e18ca723b7e755c9e615b0e..b04a8df764db9bde494ed42bbfd7cd279eeb856b 100644
--- a/common/cmd_usb.c
+++ b/common/cmd_usb.c
@@ -490,7 +490,6 @@ int do_usbboot(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 	/* Check if we should attempt an auto-start */
 	if (((ep = getenv("autostart")) != NULL) && (strcmp(ep, "yes") == 0)) {
 		char *local_args[2];
-		extern int do_bootm(cmd_tbl_t *, int, int, char *[]);
 		local_args[0] = argv[0];
 		local_args[1] = NULL;
 		printf("Automatic boot of image at addr 0x%08lX ...\n", addr);
diff --git a/include/command.h b/include/command.h
index 00edc85117c8667f86c141823f31c3548fb2629d..915be579879243b79483f615694770031f0104ff 100644
--- a/include/command.h
+++ b/include/command.h
@@ -95,6 +95,8 @@ extern int cmd_auto_complete(const char *const prompt, char *buf, int *np, int *
 extern int cmd_get_data_size(char* arg, int default_size);
 #endif
 
+extern int do_bootm(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]);
+
 #endif	/* __ASSEMBLY__ */
 
 /*