diff --git a/net/ipv4/devinet.c b/net/ipv4/devinet.c
index c0dd561aa19032f8b6637d9b387e4fa404b31828..5267b6b191ebaa540b0012d468fd995d3c79cd8f 100644
--- a/net/ipv4/devinet.c
+++ b/net/ipv4/devinet.c
@@ -276,6 +276,7 @@ static struct in_device *inetdev_init(struct net_device *dev)
 	err = devinet_sysctl_register(in_dev);
 	if (err) {
 		in_dev->dead = 1;
+		neigh_parms_release(&arp_tbl, in_dev->arp_parms);
 		in_dev_put(in_dev);
 		in_dev = NULL;
 		goto out;