Index: in6.c
===================================================================
--- in6.c	(revision 241395)
+++ in6.c	(working copy)
@@ -2610,7 +2610,8 @@
 		if (!(lle->la_flags & LLE_IFADDR) || (flags & LLE_IFADDR)) {
 			LLE_WLOCK(lle);
 			lle->la_flags |= LLE_DELETED;
-			LLE_WUNLOCK(lle);
+			LIST_REMOVE(lle, lle_next);
+			in6_lltable_free(llt, lle); /* Unlocks lle */
 #ifdef DIAGNOSTIC
 			log(LOG_INFO, "ifaddr cache = %p  is deleted\n", lle);
 #endif
