diff --git a/net/ipv6/route.c b/net/ipv6/route.c
index d442b7365bcd50167d34b2056c072546dc548732..b17d167d847c68599fe1e4a1b9bd745fe4834d7f 100644
--- a/net/ipv6/route.c
+++ b/net/ipv6/route.c
@@ -3541,11 +3541,7 @@ static int ip6_route_dev_notify(struct notifier_block *this,
 		net->ipv6.ip6_blk_hole_entry->dst.dev = dev;
 		net->ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(dev);
 #endif
-	 } else if (event == NETDEV_UNREGISTER &&
-		    dev->reg_state != NETREG_UNREGISTERED) {
-		/* NETDEV_UNREGISTER could be fired for multiple times by
-		 * netdev_wait_allrefs(). Make sure we only call this once.
-		 */
+	} else if (event == NETDEV_UNREGISTER) {
 		in6_dev_put(net->ipv6.ip6_null_entry->rt6i_idev);
 #ifdef CONFIG_IPV6_MULTIPLE_TABLES
 		in6_dev_put(net->ipv6.ip6_prohibit_entry->rt6i_idev);