diff --git a/src/ctrl/control_vty.c b/src/ctrl/control_vty.c
index 97f42de..a968bc0 100644
--- a/src/ctrl/control_vty.c
+++ b/src/ctrl/control_vty.c
@@ -82,7 +82,6 @@
 	ctrl_vty_ctx = ctx;
 	install_element(CONFIG_NODE, &cfg_ctrl_cmd);
 	install_node(&ctrl_node, config_write_ctrl);
-	vty_install_default(L_CTRL_NODE);
 
 	install_element(L_CTRL_NODE, &cfg_ctrl_bind_addr_cmd);
 	return 0;
diff --git a/src/gb/gprs_bssgp_vty.c b/src/gb/gprs_bssgp_vty.c
index dc786a1..f787846 100644
--- a/src/gb/gprs_bssgp_vty.c
+++ b/src/gb/gprs_bssgp_vty.c
@@ -211,7 +211,6 @@
 
 	install_element(CONFIG_NODE, &cfg_bssgp_cmd);
 	install_node(&bssgp_node, config_write_bssgp);
-	vty_install_default(L_BSSGP_NODE);
 
 	return 0;
 }
diff --git a/src/gb/gprs_ns_vty.c b/src/gb/gprs_ns_vty.c
index 4bd5097..f94d9c2 100644
--- a/src/gb/gprs_ns_vty.c
+++ b/src/gb/gprs_ns_vty.c
@@ -594,7 +594,6 @@
 
 	install_element(CONFIG_NODE, &cfg_ns_cmd);
 	install_node(&ns_node, config_write_ns);
-	vty_install_default(L_NS_NODE);
 	install_element(L_NS_NODE, &cfg_nse_nsvci_cmd);
 	install_element(L_NS_NODE, &cfg_nse_remoteip_cmd);
 	install_element(L_NS_NODE, &cfg_nse_remoteport_cmd);
diff --git a/src/vty/command.c b/src/vty/command.c
index 8ad2e97..21b26b4 100644
--- a/src/vty/command.c
+++ b/src/vty/command.c
@@ -149,8 +149,10 @@
 	return name_buf;
 }
 
-/*! Install top node of command vector. */
-void install_node(struct cmd_node *node, int (*func) (struct vty *))
+static void install_basic_node_commands(int node);
+
+/*! Install top node of command vector, without adding basic node commands. */
+static void install_node_bare(struct cmd_node *node, int (*func) (struct vty *))
 {
 	vector_set_index(cmdvec, node->node, node);
 	node->func = func;
@@ -159,6 +161,13 @@
 		node_name_from_prompt(node->prompt, node->name, sizeof(node->name));
 }
 
+/*! Install top node of command vector. */
+void install_node(struct cmd_node *node, int (*func) (struct vty *))
+{
+	install_node_bare(node, func);
+	install_basic_node_commands(node->node);
+}
+
 /* Compare two command's string.  Used in sort_node (). */
 static int cmp_node(const void *p, const void *q)
 {
@@ -3599,8 +3608,23 @@
 	host.config = talloc_strdup(tall_vty_cmd_ctx, filename);
 }
 
+/*! Deprecated, now happens implicitly when calling install_node().
+ * Users of the API may still attempt to call this function, hence
+ * leave it here as a no-op. */
 void install_default(int node)
 {
+}
+
+/*! Deprecated, now happens implicitly when calling install_node().
+ * Users of the API may still attempt to call this function, hence
+ * leave it here as a no-op. */
+void vty_install_default(int node)
+{
+}
+
+/*! Install common commands like 'exit' and 'list'. */
+static void install_basic_node_commands(int node)
+{
 	install_element(node, &config_help_cmd);
 	install_element(node, &config_list_cmd);
 
@@ -3609,11 +3633,6 @@
 	install_element(node, &config_write_memory_cmd);
 	install_element(node, &config_write_cmd);
 	install_element(node, &show_running_config_cmd);
-}
-
-void vty_install_default(int node)
-{
-	install_default(node);
 
 	install_element(node, &config_exit_cmd);
 
@@ -3681,10 +3700,10 @@
 	host.motdfile = NULL;
 
 	/* Install top nodes. */
-	install_node(&view_node, NULL);
+	install_node_bare(&view_node, NULL);
 	install_node(&enable_node, NULL);
-	install_node(&auth_node, NULL);
-	install_node(&auth_enable_node, NULL);
+	install_node_bare(&auth_node, NULL);
+	install_node_bare(&auth_enable_node, NULL);
 	install_node(&config_node, config_write_host);
 
 	/* Each node's basic commands. */
@@ -3701,7 +3720,6 @@
 	}
 
 	if (terminal) {
-		vty_install_default(ENABLE_NODE);
 		install_element(ENABLE_NODE, &config_disable_cmd);
 		install_element(ENABLE_NODE, &config_terminal_cmd);
 		install_element (ENABLE_NODE, &copy_runningconfig_startupconfig_cmd);
@@ -3714,8 +3732,6 @@
 		install_element(ENABLE_NODE, &config_terminal_length_cmd);
 		install_element(ENABLE_NODE, &config_terminal_no_length_cmd);
 		install_element(ENABLE_NODE, &echo_cmd);
-
-		vty_install_default(CONFIG_NODE);
 	}
 
 	install_element(CONFIG_NODE, &hostname_cmd);
diff --git a/src/vty/logging_vty.c b/src/vty/logging_vty.c
index 01480b1..0ab7686 100644
--- a/src/vty/logging_vty.c
+++ b/src/vty/logging_vty.c
@@ -776,7 +776,6 @@
 	install_element_ve(&show_alarms_cmd);
 
 	install_node(&cfg_log_node, config_write_log);
-	vty_install_default(CFG_LOG_NODE);
 	install_element(CFG_LOG_NODE, &logging_fltr_all_cmd);
 	install_element(CFG_LOG_NODE, &logging_use_clr_cmd);
 	install_element(CFG_LOG_NODE, &logging_prnt_timestamp_cmd);
diff --git a/src/vty/stats_vty.c b/src/vty/stats_vty.c
index 57cdd30..a4c73fa 100644
--- a/src/vty/stats_vty.c
+++ b/src/vty/stats_vty.c
@@ -594,7 +594,6 @@
 	install_element(CONFIG_NODE, &cfg_stats_interval_cmd);
 
 	install_node(&cfg_stats_node, config_write_stats);
-	vty_install_default(CFG_STATS_NODE);
 
 	install_element(CFG_STATS_NODE, &cfg_stats_reporter_local_ip_cmd);
 	install_element(CFG_STATS_NODE, &cfg_no_stats_reporter_local_ip_cmd);
diff --git a/src/vty/vty.c b/src/vty/vty.c
index 3d9c0d6..aef73b3 100644
--- a/src/vty/vty.c
+++ b/src/vty/vty.c
@@ -1798,7 +1798,6 @@
 	install_element(ENABLE_NODE, &terminal_monitor_cmd);
 	install_element(ENABLE_NODE, &terminal_no_monitor_cmd);
 
-	vty_install_default(VTY_NODE);
 	install_element(VTY_NODE, &vty_login_cmd);
 	install_element(VTY_NODE, &no_vty_login_cmd);
 	install_element(VTY_NODE, &vty_bind_cmd);
