diff --git a/lib/prefix.h b/lib/prefix.h
index 9ef70ff..45889e0 100644
--- a/lib/prefix.h
+++ b/lib/prefix.h
@@ -52,6 +52,7 @@
       struct in_addr adv_router;
     } lp;
     u_char val[8];
+    uintptr_t ptr;
   } u __attribute__ ((aligned (8)));
 };
 
@@ -89,6 +90,14 @@
   u_char val[8] __attribute__ ((aligned (8)));
 };
 
+/* Prefix for a generic pointer */
+struct prefix_ptr
+{
+  u_char family;
+  u_char prefixlen;
+  uintptr_t prefix __attribute__ ((aligned (8)));
+};
+
 /* helper to get type safety/avoid casts on calls
  * (w/o this, functions accepting all prefix types need casts on the caller
  * side, which strips type safety since the cast will accept any pointer
diff --git a/ospfd/ospf_lsa.c b/ospfd/ospf_lsa.c
index 3696551..0a66b1d 100644
--- a/ospfd/ospf_lsa.c
+++ b/ospfd/ospf_lsa.c
@@ -2903,9 +2903,11 @@
 ospf_lsa_maxage_delete (struct ospf *ospf, struct ospf_lsa *lsa)
 {
   struct route_node *rn;
-  struct prefix_ls lsa_prefix;
+  struct prefix_ptr lsa_prefix;
 
-  ls_prefix_set (&lsa_prefix, lsa);
+  lsa_prefix.family = 0;
+  lsa_prefix.prefixlen = sizeof(lsa_prefix.prefix) * CHAR_BIT;
+  lsa_prefix.prefix = (uintptr_t) lsa;
 
   if ((rn = route_node_lookup(ospf->maxage_lsa,
 			      (struct prefix *)&lsa_prefix)))
@@ -2929,7 +2931,7 @@
 void
 ospf_lsa_maxage (struct ospf *ospf, struct ospf_lsa *lsa)
 {
-  struct prefix_ls lsa_prefix;
+  struct prefix_ptr lsa_prefix;
   struct route_node *rn;
 
   /* When we saw a MaxAge LSA flooded to us, we put it on the list
@@ -2942,12 +2944,18 @@
       return;
     }
 
-  ls_prefix_set (&lsa_prefix, lsa);
+  lsa_prefix.family = 0;
+  lsa_prefix.prefixlen = sizeof(lsa_prefix.prefix) * CHAR_BIT;
+  lsa_prefix.prefix = (uintptr_t) lsa;
+
   if ((rn = route_node_get (ospf->maxage_lsa,
 			    (struct prefix *)&lsa_prefix)) != NULL)
     {
       if (rn->info != NULL)
 	{
+	  if (IS_DEBUG_OSPF (lsa, LSA_FLOODING))
+	    zlog_debug ("LSA[%s]: found LSA (%p) in table for LSA %p %d",
+			dump_lsa_key (lsa), rn->info, lsa, lsa_prefix.prefixlen);
 	  route_unlock_node (rn);
 	}
       else
