Apply by doing:
	cd /usr/src
	patch -p0 < 003_arp.patch
And then rebuild your kernel.

Index: sys/netinet/if_ether.c
===================================================================
RCS file: /cvs/src/sys/netinet/if_ether.c,v
retrieving revision 1.48
retrieving revision 1.48.2.1
diff -u -p -r1.48 -r1.48.2.1
--- sys/netinet/if_ether.c	2 Jun 2003 23:28:13 -0000	1.48
+++ sys/netinet/if_ether.c	31 Oct 2003 00:07:52 -0000	1.48.2.1
@@ -740,10 +740,18 @@ arplookup(addr, create, proxy)
 	rt->rt_refcnt--;
 	if ((rt->rt_flags & RTF_GATEWAY) || (rt->rt_flags & RTF_LLINFO) == 0 ||
 	    rt->rt_gateway->sa_family != AF_LINK) {
-		if (create)
+		if (create) {
 			log(LOG_DEBUG,
 			    "arplookup: unable to enter address for %s\n",
 			    inet_ntoa(sin.sin_addr));
+			if (rt->rt_refcnt <= 0 &&
+			    (rt->rt_flags & RTF_CLONED) != 0) {
+				rtrequest(RTM_DELETE,
+				    (struct sockaddr *)rt_key(rt),
+				    rt->rt_gateway, rt_mask(rt), rt->rt_flags,
+				    0);
+			}
+		}
 		return (0);
 	}
 	return ((struct llinfo_arp *)rt->rt_llinfo);