diff --git a/sys/net/gnrc/network_layer/ipv6/netif/gnrc_ipv6_netif.c b/sys/net/gnrc/network_layer/ipv6/netif/gnrc_ipv6_netif.c
index 82d0cfa8e48ac75c85c3e83c571b92c8fa1326e4..cabd1f1b475c94e8c43c6d76deed9ed5bd94a15b 100644
--- a/sys/net/gnrc/network_layer/ipv6/netif/gnrc_ipv6_netif.c
+++ b/sys/net/gnrc/network_layer/ipv6/netif/gnrc_ipv6_netif.c
@@ -88,7 +88,8 @@ static ipv6_addr_t *_add_addr_to_entry(gnrc_ipv6_netif_t *entry, const ipv6_addr
     tmp_addr->flags = flags;
 
 #ifdef MODULE_GNRC_SIXLOWPAN_ND
-    if (entry->flags & GNRC_IPV6_NETIF_FLAGS_SIXLOWPAN) {
+    if (!ipv6_addr_is_multicast(&(tmp_addr->addr)) &&
+        (entry->flags & GNRC_IPV6_NETIF_FLAGS_SIXLOWPAN)) {
         ipv6_addr_t *router = gnrc_ndp_internal_default_router();
         if (router != NULL) {
             tmp_addr->flags |= GNRC_IPV6_NETIF_ADDR_FLAGS_TENTATIVE;