diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c
index 47f837a58e0ad83f152272af0c15c6361e535cf7..b12553905e42e7fc1cc9b6ffb78de7affdc9e12f 100644
--- a/net/ipv6/addrconf.c
+++ b/net/ipv6/addrconf.c
@@ -2254,7 +2254,7 @@ static struct inet6_dev *addrconf_add_dev(struct net_device *dev)
 		return ERR_PTR(-EACCES);
 
 	/* Add default multicast route */
-	if (!(dev->flags & IFF_LOOPBACK))
+	if (!(dev->flags & IFF_LOOPBACK) && !netif_is_l3_master(dev))
 		addrconf_add_mroute(dev);
 
 	return idev;