diff --git a/arch/arm/cpu/arm926ejs/kirkwood/cpu.c b/arch/arm/cpu/arm926ejs/kirkwood/cpu.c
index 8f04ddbb86e5b9deb3ae9de211e02953d0643af8..54d15ea347de273b6158a3184f1e264c690fd401 100644
--- a/arch/arm/cpu/arm926ejs/kirkwood/cpu.c
+++ b/arch/arm/cpu/arm926ejs/kirkwood/cpu.c
@@ -227,7 +227,7 @@ static void kw_sysrst_action(void)
 
 	debug("Starting %s process...\n", __FUNCTION__);
 #if !defined(CONFIG_SYS_HUSH_PARSER)
-	ret = run_command (s, 0);
+	ret = builtin_run_command(s, 0);
 #else
 	ret = parse_string_outer(s, FLAG_PARSE_SEMICOLON
 				  | FLAG_EXIT_FROM_LOOP);
diff --git a/board/esd/common/auto_update.c b/board/esd/common/auto_update.c
index fc60545d048b249febd17993929c17192d191193..4cc15fa2b8896d7a47a89ac3d8d2951e11fd5f9c 100644
--- a/board/esd/common/auto_update.c
+++ b/board/esd/common/auto_update.c
@@ -169,7 +169,7 @@ int au_do_update(int i, long sz)
 				k++;
 			}
 
-			run_command(addr, 0);
+			builtin_run_command(addr, 0);
 			return 0;
 		}
 
diff --git a/board/esd/common/cmd_loadpci.c b/board/esd/common/cmd_loadpci.c
index 8f4ad84689de9254f28b5f4e722e28063cb8af77..c2bf2792e90297acbfe63a4199bfb38e20179356 100644
--- a/board/esd/common/cmd_loadpci.c
+++ b/board/esd/common/cmd_loadpci.c
@@ -110,7 +110,7 @@ int do_loadpci(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 			 * Call run_cmd
 			 */
 			printf("running command at addr 0x%s ...\n", addr);
-			run_command((char*)la, 0);
+			builtin_run_command((char *)la, 0);
 			break;
 
 		default:
diff --git a/board/esd/du440/du440.c b/board/esd/du440/du440.c
index 426321e7bc22f6f4e7cb9249d1a212c9e2ffcdf9..75fb20079e9b171d59125be9ee24bc7cc04a3928 100644
--- a/board/esd/du440/du440.c
+++ b/board/esd/du440/du440.c
@@ -831,7 +831,7 @@ int do_time(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 	*d = '\0';
 
 	start = get_ticks();
-	ret = run_command (cmd, 0);
+	ret = builtin_run_command(cmd, 0);
 	end = get_ticks();
 
 	printf("ticks=%ld\n", (ulong)(end - start));
diff --git a/common/cmd_bedbug.c b/common/cmd_bedbug.c
index 87b108f84254b8ab7e5ab939dda671d720d8186e..0228ee875cead91532e7bf4077a13089aca708d6 100644
--- a/common/cmd_bedbug.c
+++ b/common/cmd_bedbug.c
@@ -237,7 +237,7 @@ void bedbug_main_loop (unsigned long addr, struct pt_regs *regs)
 		if (len == -1)
 			printf ("<INTERRUPT>\n");
 		else
-			rc = run_command (lastcommand, flag);
+			rc = builtin_run_command(lastcommand, flag);
 
 		if (rc <= 0) {
 			/* invalid command or not repeatable, forget it */
diff --git a/common/cmd_bootm.c b/common/cmd_bootm.c
index d5745b14e2ce54427ce7153759b0f39a0bb8fa3f..2e3e1593cea003faed3adaae0e4fb465f437516c 100644
--- a/common/cmd_bootm.c
+++ b/common/cmd_bootm.c
@@ -1046,7 +1046,7 @@ int do_bootd(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 	int rcode = 0;
 
 #ifndef CONFIG_SYS_HUSH_PARSER
-	if (run_command(getenv("bootcmd"), flag) < 0)
+	if (builtin_run_command(getenv("bootcmd"), flag) < 0)
 		rcode = 1;
 #else
 	if (parse_string_outer(getenv("bootcmd"),
diff --git a/common/cmd_source.c b/common/cmd_source.c
index 16a627a3dd5def7796ade9d30e5638d52fb27046..481241cfdf2b84eee1348f7003a33a6c1291299e 100644
--- a/common/cmd_source.c
+++ b/common/cmd_source.c
@@ -179,7 +179,7 @@ source (ulong addr, const char *fit_uname)
 				if (*line) {
 					debug ("** exec: \"%s\"\n",
 						line);
-					if (run_command (line, 0) < 0) {
+					if (builtin_run_command(line, 0) < 0) {
 						rcode = 1;
 						break;
 					}
@@ -189,7 +189,7 @@ source (ulong addr, const char *fit_uname)
 			++next;
 		}
 		if (rcode == 0 && *line)
-			rcode = (run_command(line, 0) >= 0);
+			rcode = (builtin_run_command(line, 0) >= 0);
 	}
 #endif
 	free (cmd);
diff --git a/common/main.c b/common/main.c
index defe2d499d898f57b474a61284b649ff8524f1e9..e74ebdfbf66347341512ad193a42254091ff7d03 100644
--- a/common/main.c
+++ b/common/main.c
@@ -274,9 +274,10 @@ int run_command2(const char *cmd, int flag)
 {
 #ifndef CONFIG_SYS_HUSH_PARSER
 	/*
-	 * run_command can return 0 or 1 for success, so clean up its result.
+	 * builtin_run_command can return 0 or 1 for success, so clean up
+	 * its result.
 	 */
-	if (run_command(cmd, flag) == -1)
+	if (builtin_run_command(cmd, flag) == -1)
 		return 1;
 
 	return 0;
@@ -457,7 +458,7 @@ void main_loop (void)
 		if (len == -1)
 			puts ("<INTERRUPT>\n");
 		else
-			rc = run_command (lastcommand, flag);
+			rc = builtin_run_command(lastcommand, flag);
 
 		if (rc <= 0) {
 			/* invalid command or not repeatable, forget it */
@@ -1278,7 +1279,7 @@ static void process_macros (const char *input, char *output)
  * creates or modifies environment variables (like "bootp" does).
  */
 
-int run_command (const char *cmd, int flag)
+int builtin_run_command(const char *cmd, int flag)
 {
 	cmd_tbl_t *cmdtp;
 	char cmdbuf[CONFIG_SYS_CBSIZE];	/* working copy of cmd		*/
diff --git a/include/common.h b/include/common.h
index 8f5331eb7afd761e0230153e498c68d7c73ef22f..dd1b9edbbace512b3e110b48a31485d6e3d632a6 100644
--- a/include/common.h
+++ b/include/common.h
@@ -260,7 +260,7 @@ int	print_buffer (ulong addr, void* data, uint width, uint count, uint linelen);
 
 /* common/main.c */
 void	main_loop	(void);
-int	run_command	(const char *cmd, int flag);
+int builtin_run_command(const char *cmd, int flag);
 int run_command2(const char *cmd, int flag);
 int	readline	(const char *const prompt);
 int	readline_into_buffer(const char *const prompt, char *buffer,