diff --git a/sys/net/network_layer/ng_ipv6/netif/ng_ipv6_netif.c b/sys/net/network_layer/ng_ipv6/netif/ng_ipv6_netif.c index 0b0c3103058f..ac156c468229 100644 --- a/sys/net/network_layer/ng_ipv6/netif/ng_ipv6_netif.c +++ b/sys/net/network_layer/ng_ipv6/netif/ng_ipv6_netif.c @@ -313,7 +313,8 @@ static uint8_t _find_by_prefix_unsafe(ng_ipv6_addr_t **res, ng_ipv6_netif_t *ifa match = ng_ipv6_addr_match_prefix(&(iface->addrs[i].addr), addr); - if (match < iface->addrs[i].prefix_len) { + if (only_unicast && !ng_ipv6_addr_is_multicast(addr) && + (match < iface->addrs[i].prefix_len)) { /* match but not of same subnet */ continue; }