diff --git a/ospf6d/ospf6_lsdb.c b/ospf6d/ospf6_lsdb.c
index ea387e3..d2e3e04 100644
--- a/ospf6d/ospf6_lsdb.c
+++ b/ospf6d/ospf6_lsdb.c
@@ -258,9 +258,6 @@
   return (struct ospf6_lsa *) node->info;
 }
 
-/* Macro version of check_bit (). */
-#define CHECK_BIT(X,P) ((((u_char *)(X))[(P) / 8]) >> (7 - ((P) % 8)) & 1)
-
 struct ospf6_lsa *
 ospf6_lsdb_lookup_next (u_int16_t type, u_int32_t id, u_int32_t adv_router,
                         struct ospf6_lsdb *lsdb)
@@ -291,7 +288,7 @@
          prefix_match (&node->p, p))
     {
       matched = node;
-      node = node->link[CHECK_BIT(&p->u.prefix, node->p.prefixlen)];
+      node = node->link[prefix_bit(&p->u.prefix, node->p.prefixlen)];
     }
 
   if (matched)
@@ -384,7 +381,7 @@
   /* Walk down tree. */
   while (node && node->p.prefixlen <= key.prefixlen &&
 	 prefix_match (&node->p, (struct prefix *) &key))
-    node = node->link[CHECK_BIT(&key.prefix, node->p.prefixlen)];
+    node = node->link[prefix_bit(&key.prefix, node->p.prefixlen)];
 
   if (node)
     route_lock_node (node);
@@ -438,7 +435,7 @@
   node = lsdb->table->top;
   while (node && node->p.prefixlen <= key.prefixlen &&
 	 prefix_match (&node->p, (struct prefix *) &key))
-    node = node->link[CHECK_BIT(&key.prefix, node->p.prefixlen)];
+    node = node->link[prefix_bit(&key.prefix, node->p.prefixlen)];
 
   if (node)
     route_lock_node (node);
