diff --git a/zebra/main.c b/zebra/main.c
index 5f26ce2..5b5265f 100644
--- a/zebra/main.c
+++ b/zebra/main.c
@@ -327,7 +327,9 @@
   zebra_vty_init ();
   access_list_init ();
   prefix_list_init ();
+#ifdef RTADV
   rtadv_init ();
+#endif
 #ifdef HAVE_IRDP
   irdp_init();
 #endif
diff --git a/zebra/rtadv.h b/zebra/rtadv.h
index 564a4c6..8cb933e 100644
--- a/zebra/rtadv.h
+++ b/zebra/rtadv.h
@@ -26,6 +26,9 @@
 #include "vty.h"
 #include "zebra/interface.h"
 
+/* NB: RTADV is defined in zebra/interface.h above */
+#ifdef RTADV
+
 /* Router advertisement prefix. */
 struct rtadv_prefix
 {
@@ -96,4 +99,6 @@
 
 extern const char *rtadv_pref_strs[];
 
+#endif /* RTADV */
+
 #endif /* _ZEBRA_RTADV_H */
diff --git a/zebra/zebra_vty.c b/zebra/zebra_vty.c
index 8a57be9..743c13f 100644
--- a/zebra/zebra_vty.c
+++ b/zebra/zebra_vty.c
@@ -1197,6 +1197,40 @@
     return CMD_SUCCESS;
 }
 
+/*
+ * Show IP mroute command to dump the BGP Multicast
+ * routing table
+ */
+DEFUN (show_ip_mroute,
+       show_ip_mroute_cmd,
+       "show ip mroute",
+       SHOW_STR
+       IP_STR
+       "IP Multicast routing table\n")
+{
+  struct route_table *table;
+  struct route_node *rn;
+  struct rib *rib;
+  int first = 1;
+
+  table = vrf_table (AFI_IP, SAFI_MULTICAST, 0);
+  if (! table)
+    return CMD_SUCCESS;
+
+  /* Show all IPv4 routes. */
+  for (rn = route_top (table); rn; rn = route_next (rn))
+    for (rib = rn->info; rib; rib = rib->next)
+      {
+       if (first)
+         {
+	   vty_out (vty, SHOW_ROUTE_V4_HEADER);
+           first = 0;
+         }
+       vty_show_ip_route (vty, rn, rib);
+      }
+  return CMD_SUCCESS;
+}
+
 
 #ifdef HAVE_IPV6
 /* General fucntion for IPv6 static route. */
@@ -1952,40 +1986,6 @@
 }
 
 /*
- * Show IP mroute command to dump the BGP Multicast 
- * routing table
- */
-DEFUN (show_ip_mroute,
-       show_ip_mroute_cmd,
-       "show ip mroute",
-       SHOW_STR
-       IP_STR
-       "IP Multicast routing table\n")
-{
-  struct route_table *table;
-  struct route_node *rn;
-  struct rib *rib;
-  int first = 1;
-
-  table = vrf_table (AFI_IP, SAFI_MULTICAST, 0);
-  if (! table)
-    return CMD_SUCCESS;
-
-  /* Show all IPv4 routes. */
-  for (rn = route_top (table); rn; rn = route_next (rn))
-    for (rib = rn->info; rib; rib = rib->next)
-      {
-       if (first)
-         {
-	   vty_out (vty, SHOW_ROUTE_V4_HEADER);
-           first = 0;
-         }
-       vty_show_ip_route (vty, rn, rib);
-      }
-  return CMD_SUCCESS;
-}
-
-/*
  * Show IPv6 mroute command.Used to dump
  * the Multicast routing table.
  */
@@ -2020,11 +2020,6 @@
   return CMD_SUCCESS;
 }
 
-
-
-
-
-
 /* Write IPv6 static route configuration. */
 static int
 static_config_ipv6 (struct vty *vty)
