diff --git a/isisd/ChangeLog b/isisd/ChangeLog
index 67ef913..f2e0f51 100644
--- a/isisd/ChangeLog
+++ b/isisd/ChangeLog
@@ -1,5 +1,9 @@
 2005-09-01 Hasso Tepper <hasso at quagga.net>
 
+	* isis_lsp.c: Less TLV leaking.
+
+2005-09-01 Hasso Tepper <hasso at quagga.net>
+
 	* random.c, spgrid.[ch]: Fix warnings with hope that I didn't broke
 	  anything. These floats to longs and vice versa casts are starnge
 	  indeed.
diff --git a/isisd/isis_lsp.c b/isisd/isis_lsp.c
index 52896c4..a425b34 100644
--- a/isisd/isis_lsp.c
+++ b/isisd/isis_lsp.c
@@ -1330,7 +1330,10 @@
   if (router_id_zebra.s_addr != 0)
     {
       if (lsp->tlv_data.ipv4_addrs == NULL)
-	lsp->tlv_data.ipv4_addrs = list_new ();
+	{
+	  lsp->tlv_data.ipv4_addrs = list_new ();
+	  lsp->tlv_data.ipv4_addrs->del = free_tlv;
+	}
 
       routerid = XMALLOC (MTYPE_ISIS_TLV, sizeof (struct in_addr));
       routerid->s_addr = router_id_zebra.s_addr;
@@ -1362,6 +1365,7 @@
 	  if (tlv_data.ipv4_int_reachs == NULL)
 	    {
 	      tlv_data.ipv4_int_reachs = list_new ();
+	      tlv_data.ipv4_int_reachs->del = free_tlv;
 	    }
           for (ALL_LIST_ELEMENTS (circuit->ip_addrs, ipnode, ipnnode, ipv4))
 	    {
@@ -1386,6 +1390,7 @@
 	  if (tlv_data.ipv6_reachs == NULL)
 	    {
 	      tlv_data.ipv6_reachs = list_new ();
+	      tlv_data.ipv6_reachs->del = free_tlv;
 	    }
           for (ALL_LIST_ELEMENTS (circuit->ipv6_non_link, ipnode, ipnnode,
                                   ipv6))
@@ -1413,6 +1418,7 @@
 	      if (tlv_data.is_neighs == NULL)
 		{
 		  tlv_data.is_neighs = list_new ();
+		  tlv_data.is_neighs->del = free_tlv;
 		}
 	      is_neigh = XCALLOC (MTYPE_ISIS_TLV, sizeof (struct is_neigh));
 	      if (level == 1)
