diff --git a/asterisk.c b/asterisk.c
index 90bd9120210a39e1a1e3e6a1b1a2f9061ba1662e..bb4090649e7151f342695cf1269c3781d2d40fde 100644
--- a/asterisk.c
+++ b/asterisk.c
@@ -224,6 +224,13 @@ char ast_config_AST_CTL_GROUP[AST_CONFIG_MAX_PATH] = "\0";
 char ast_config_AST_CTL[AST_CONFIG_MAX_PATH] = "asterisk.ctl";
 char ast_config_AST_SYSTEM_NAME[20] = "";
 
+extern const char *ast_build_hostname;
+extern const char *ast_build_kernel;
+extern const char *ast_build_machine;
+extern const char *ast_build_os;
+extern const char *ast_build_date;
+extern const char *ast_build_user;
+
 static char *_argv[256];
 static int shuttingdown = 0;
 static int restartnow = 0;
@@ -1271,6 +1278,20 @@ static char show_license_help[] =
 "Usage: show license\n"
 "	Shows the license(s) for this copy of Asterisk.\n";
 
+static char version_help[] =
+"Usage: show version\n"
+"       Shows Asterisk version information.\n";
+
+static int handle_version(int fd, int argc, char *argv[])
+{
+	if (argc != 2)
+		return RESULT_SHOWUSAGE;
+	ast_cli(fd, "Asterisk %s built by %s @ %s on a %s running %s on %s\n",
+		ASTERISK_VERSION, ast_build_user, ast_build_hostname,
+		ast_build_machine, ast_build_os, ast_build_date);
+	return RESULT_SUCCESS;
+}
+
 #if 0
 static int handle_quit(int fd, int argc, char *argv[])
 {
@@ -1431,6 +1452,8 @@ static struct ast_cli_entry core_cli[] = {
 	  "Show the warranty (if any) for this copy of Asterisk", show_warranty_help },
 	{ { "show", "license", NULL }, show_license,
 	  "Show the license(s) for this copy of Asterisk", show_license_help },
+	{ { "show", "version", NULL }, handle_version, 
+	  "Display version info", version_help },
 	{ { "!", NULL }, handle_bang,
 	  "Execute a shell command", bang_help },
 #if !defined(LOW_MEMORY)
diff --git a/cli.c b/cli.c
index 8aa7b8ac23b5285376617d7c90e0b0ccd12d15c7..d46368491e5110275be5e0d7b670008bb44f4a5c 100644
--- a/cli.c
+++ b/cli.c
@@ -51,14 +51,6 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
 /* For rl_filename_completion */
 #include "editline/readline/readline.h"
 /* For module directory */
-#include "asterisk/version.h"
-
-extern const char *ast_build_hostname;
-extern const char *ast_build_kernel;
-extern const char *ast_build_machine;
-extern const char *ast_build_os;
-extern const char *ast_build_date;
-extern const char *ast_build_user;
 
 extern unsigned long global_fin, global_fout;
 	
@@ -292,10 +284,6 @@ static char modlist_help[] =
 "Usage: show modules [like keyword]\n"
 "       Shows Asterisk modules currently in use, and usage statistics.\n";
 
-static char version_help[] =
-"Usage: show version\n"
-"       Shows Asterisk version information.\n";
-
 static char uptime_help[] =
 "Usage: show uptime [seconds]\n"
 "       Shows Asterisk uptime information.\n"
@@ -390,16 +378,6 @@ static int handle_modlist(int fd, int argc, char *argv[])
 #undef MODLIST_FORMAT
 #undef MODLIST_FORMAT2
 
-static int handle_version(int fd, int argc, char *argv[])
-{
-	if (argc != 2)
-		return RESULT_SHOWUSAGE;
-	ast_cli(fd, "Asterisk %s built by %s @ %s on a %s running %s on %s\n",
-		ASTERISK_VERSION, ast_build_user, ast_build_hostname,
-		ast_build_machine, ast_build_os, ast_build_date);
-	return RESULT_SUCCESS;
-}
-
 static int handle_chanlist(int fd, int argc, char *argv[])
 {
 #define FORMAT_STRING  "%-20.20s %-20.20s %-7.7s %-30.30s\n"
@@ -941,7 +919,6 @@ static struct ast_cli_entry builtins[] = {
 	{ { "show", "modules", NULL }, handle_modlist, "List modules and info", modlist_help },
 	{ { "show", "modules", "like", NULL }, handle_modlist, "List modules and info", modlist_help, complete_mod_4 },
  	{ { "show", "uptime", NULL }, handle_showuptime, "Show uptime information", uptime_help },
-	{ { "show", "version", NULL }, handle_version, "Display version info", version_help },
 	{ { "soft", "hangup", NULL }, handle_softhangup, "Request a hangup on a given channel", softhangup_help, complete_ch_3 },
 	{ { "unload", NULL }, handle_unload, "Unload a dynamic module by name", unload_help, complete_fn },
 	{ { NULL }, NULL, NULL, NULL }