diff --git a/lib/prefix.c b/lib/prefix.c
index 3ab67f3..5e8cff0 100644
--- a/lib/prefix.c
+++ b/lib/prefix.c
@@ -2460,8 +2460,8 @@
   if (p1->family != p2->family || p1->prefixlen != p2->prefixlen)
     return 1;
 
-  offset = p1->prefixlen / 8;
-  shift = p1->prefixlen % 8;
+  offset = p1->prefixlen / PNBBY;
+  shift = p1->prefixlen % PNBBY;
 
   if (shift)
     if (maskbit[shift] & (pp1[offset] ^ pp2[offset]))
@@ -2598,7 +2598,7 @@
 void
 masklen2ip (const int masklen, struct in_addr *netmask)
 {
-  assert (masklen >= 0 && masklen <= 32);
+  assert (masklen >= 0 && masklen <= IPV4_MAX_BITLEN);
   netmask->s_addr = maskbytes_network[masklen];
 }
 
@@ -2683,7 +2683,7 @@
       if (ret == 0)
 	return 0;
       plen = (u_char) atoi (++pnt);
-      if (plen > 128)
+      if (plen > IPV6_MAX_BITLEN)
 	return 0;
       p->prefixlen = plen;
     }
@@ -2703,13 +2703,13 @@
   
   pnt = (unsigned char *) & netmask;
 
-  while ((*pnt == 0xff) && len < 128) 
+  while ((*pnt == 0xff) && len < IPV6_MAX_BITLEN)
     {
       len += 8;
       pnt++;
     } 
   
-  if (len < 128) 
+  if (len < IPV6_MAX_BITLEN)
     {
       val = *pnt;
       while (val) 
@@ -2724,7 +2724,7 @@
 void
 masklen2ip6 (const int masklen, struct in6_addr *netmask)
 {
-  assert (masklen >=0 && masklen <= 128);
+  assert (masklen >= 0 && masklen <= IPV6_MAX_BITLEN);
   memcpy (netmask, maskbytes6 + masklen, sizeof (struct in6_addr));
 }
 
