diff --git a/package/mac80211/patches/510-mac80211_4addr_vlan.patch b/package/mac80211/patches/510-mac80211_4addr_vlan.patch
index ac92fe54b102582448b604eadfeb20d981c4104d..d3d1e82930745cfd4924526925aec94c25d4d6f9 100644
--- a/package/mac80211/patches/510-mac80211_4addr_vlan.patch
+++ b/package/mac80211/patches/510-mac80211_4addr_vlan.patch
@@ -213,6 +213,15 @@
  
  	return ieee80211_data_to_8023(rx->skb, dev->dev_addr, sdata->vif.type);
  }
+@@ -1285,7 +1292,7 @@ ieee80211_deliver_skb(struct ieee80211_r
+ 	if ((sdata->vif.type == NL80211_IFTYPE_AP ||
+ 	     sdata->vif.type == NL80211_IFTYPE_AP_VLAN) &&
+ 	    !(sdata->flags & IEEE80211_SDATA_DONT_BRIDGE_PACKETS) &&
+-	    (rx->flags & IEEE80211_RX_RA_MATCH)) {
++	    (rx->flags & IEEE80211_RX_RA_MATCH) && !rx->sdata->use_4addr) {
+ 		if (is_multicast_ether_addr(ehdr->h_dest)) {
+ 			/*
+ 			 * send multicast frames both to higher layers in
 @@ -1590,6 +1597,7 @@ ieee80211_rx_h_data(struct ieee80211_rx_
  {
  	struct net_device *dev = rx->dev;