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);