diff --git a/bgpd/bgp_route.c b/bgpd/bgp_route.c
index 527d5d9..476ef05 100644
--- a/bgpd/bgp_route.c
+++ b/bgpd/bgp_route.c
@@ -16221,14 +16221,14 @@
                  bgp->ipv6_distance_ebgp, bgp->ipv6_distance_ibgp, bgp->ipv6_distance_local,
                  VTY_NEWLINE);
 
-        for (rn = bgp_table_top (bgp_distance_table); rn; rn = bgp_route_next (rn))
-          if ((bdistance = rn->info) != NULL)
-            {
-              vty_out (vty, " distance %d %s/%d %s%s", bdistance->distance,
-                       inet6_ntoa (rn->p.u.prefix6), rn->p.prefixlen,
-                       bdistance->access_list ? bdistance->access_list : "",
-                       VTY_NEWLINE);
-            }
+      for (rn = bgp_table_top (bgp_distance_table); rn; rn = bgp_route_next (rn))
+        if ((bdistance = rn->info) != NULL)
+          {
+            vty_out (vty, " distance %d %s/%d %s%s", bdistance->distance,
+                     inet6_ntoa (rn->p.u.prefix6), rn->p.prefixlen,
+                     bdistance->access_list ? bdistance->access_list : "",
+                     VTY_NEWLINE);
+          }
     }
 #endif /* HAVE_IPV6 */
 
diff --git a/bgpd/bgpd.c b/bgpd/bgpd.c
index 69ab7da..6189411 100644
--- a/bgpd/bgpd.c
+++ b/bgpd/bgpd.c
@@ -3916,19 +3916,19 @@
   if (! CHECK_FLAG (peer->sflags, PEER_STATUS_GROUP))
     return 0;
 
-    group = peer->group;
-    for (ALL_LIST_ELEMENTS (group->peer, node, nnode, peer))
-      {
-	filter = &peer->filter[afi][safi];
+  group = peer->group;
+  for (ALL_LIST_ELEMENTS (group->peer, node, nnode, peer))
+    {
+      filter = &peer->filter[afi][safi];
 
-	if (! peer->af_group[afi][safi])
-	  continue;
+      if (! peer->af_group[afi][safi])
+        continue;
 
-	if (filter->dlist[direct].name)
-	  free (filter->dlist[direct].name);
-	filter->dlist[direct].name = NULL;
-	filter->dlist[direct].alist = NULL;
-      }
+      if (filter->dlist[direct].name)
+        free (filter->dlist[direct].name);
+      filter->dlist[direct].name = NULL;
+      filter->dlist[direct].alist = NULL;
+    }
 
   return 0;
 }
