diff --git a/bgpd/bgp_vty.c b/bgpd/bgp_vty.c
index 0b5be73..36fd263 100644
--- a/bgpd/bgp_vty.c
+++ b/bgpd/bgp_vty.c
@@ -3379,7 +3379,7 @@
   struct peer *peer;
   u_int32_t connect;
 
-  peer = peer_lookup_vty (vty, ip_str);
+  peer = peer_and_group_lookup_vty (vty, ip_str);
   if (! peer)
     return CMD_WARNING;
 
@@ -3402,9 +3402,9 @@
 
 DEFUN (neighbor_timers_connect,
        neighbor_timers_connect_cmd,
-       NEIGHBOR_CMD "timers connect <1-65535>",
+       NEIGHBOR_CMD2 "timers connect <1-65535>",
        NEIGHBOR_STR
-       NEIGHBOR_ADDR_STR
+       NEIGHBOR_ADDR_STR2
        "BGP per neighbor timers\n"
        "BGP connect timer\n"
        "Connect timer\n")
@@ -3414,10 +3414,10 @@
 
 DEFUN (no_neighbor_timers_connect,
        no_neighbor_timers_connect_cmd,
-       NO_NEIGHBOR_CMD "timers connect",
+       NO_NEIGHBOR_CMD2 "timers connect",
        NO_STR
        NEIGHBOR_STR
-       NEIGHBOR_ADDR_STR
+       NEIGHBOR_ADDR_STR2
        "BGP per neighbor timers\n"
        "BGP connect timer\n")
 {
@@ -3426,10 +3426,10 @@
 
 ALIAS (no_neighbor_timers_connect,
        no_neighbor_timers_connect_val_cmd,
-       NO_NEIGHBOR_CMD "timers connect <1-65535>",
+       NO_NEIGHBOR_CMD2 "timers connect <1-65535>",
        NO_STR
        NEIGHBOR_STR
-       NEIGHBOR_ADDR_STR
+       NEIGHBOR_ADDR_STR2
        "BGP per neighbor timers\n"
        "BGP connect timer\n"
        "Connect timer\n")
@@ -3442,7 +3442,7 @@
   struct peer *peer;
   u_int32_t routeadv = 0;
 
-  peer = peer_lookup_vty (vty, ip_str);
+  peer = peer_and_group_lookup_vty (vty, ip_str);
   if (! peer)
     return CMD_WARNING;
 
@@ -3459,9 +3459,9 @@
 
 DEFUN (neighbor_advertise_interval,
        neighbor_advertise_interval_cmd,
-       NEIGHBOR_CMD "advertisement-interval <0-600>",
+       NEIGHBOR_CMD2 "advertisement-interval <0-600>",
        NEIGHBOR_STR
-       NEIGHBOR_ADDR_STR
+       NEIGHBOR_ADDR_STR2
        "Minimum interval between sending BGP routing updates\n"
        "time in seconds\n")
 {
@@ -3470,10 +3470,10 @@
 
 DEFUN (no_neighbor_advertise_interval,
        no_neighbor_advertise_interval_cmd,
-       NO_NEIGHBOR_CMD "advertisement-interval",
+       NO_NEIGHBOR_CMD2 "advertisement-interval",
        NO_STR
        NEIGHBOR_STR
-       NEIGHBOR_ADDR_STR
+       NEIGHBOR_ADDR_STR2
        "Minimum interval between sending BGP routing updates\n")
 {
   return peer_advertise_interval_vty (vty, argv[0], NULL, 0);
@@ -3481,10 +3481,10 @@
 
 ALIAS (no_neighbor_advertise_interval,
        no_neighbor_advertise_interval_val_cmd,
-       NO_NEIGHBOR_CMD "advertisement-interval <0-600>",
+       NO_NEIGHBOR_CMD2 "advertisement-interval <0-600>",
        NO_STR
        NEIGHBOR_STR
-       NEIGHBOR_ADDR_STR
+       NEIGHBOR_ADDR_STR2
        "Minimum interval between sending BGP routing updates\n"
        "time in seconds\n")
 
