diff --git a/bgpd/bgp_route.c b/bgpd/bgp_route.c
index ce0b57b..cd8f3fe 100644
--- a/bgpd/bgp_route.c
+++ b/bgpd/bgp_route.c
@@ -4660,18 +4660,27 @@
   struct bgp_node *child;
   struct bgp_node *rn;
   struct bgp_aggregate *aggregate;
+  struct bgp_table *table;
 
   /* MPLS-VPN aggregation is not yet supported. */
   if (safi == SAFI_MPLS_VPN)
     return;
 
+  table = bgp->aggregate[afi][safi];
+
+  /* No aggregates configured. */
+  if (table->top == NULL)
+    return;
+
   if (p->prefixlen == 0)
     return;
 
   if (BGP_INFO_HOLDDOWN (ri))
     return;
 
-  child = bgp_node_get (bgp->aggregate[afi][safi], p);
+  child = bgp_node_lookup (table, p);
+  if (! child)
+    return;
 
   /* Aggregate address configuration check. */
   for (rn = child; rn; rn = rn->parent)
@@ -4690,15 +4699,24 @@
   struct bgp_node *child;
   struct bgp_node *rn;
   struct bgp_aggregate *aggregate;
+  struct bgp_table *table;
 
   /* MPLS-VPN aggregation is not yet supported. */
   if (safi == SAFI_MPLS_VPN)
     return;
 
+  table = bgp->aggregate[afi][safi];
+
+  /* No aggregates configured. */
+  if (table->top == NULL)
+    return;
+
   if (p->prefixlen == 0)
     return;
 
-  child = bgp_node_get (bgp->aggregate[afi][safi], p);
+  child = bgp_node_lookup (table, p);
+  if (! child)
+    return;
 
   /* Aggregate address configuration check. */
   for (rn = child; rn; rn = rn->parent)
