--- a/net80211/ieee80211_input.c
+++ b/net80211/ieee80211_input.c
@@ -950,6 +950,9 @@ ieee80211_input_all(struct ieee80211com 
 	TAILQ_FOREACH(vap, &ic->ic_vaps, iv_next) {
 		struct sk_buff *skb1;
 
+		if ((vap->iv_dev->flags & (IFF_UP|IFF_RUNNING)) != (IFF_UP|IFF_RUNNING))
+			continue;
+
 		if (TAILQ_NEXT(vap, iv_next) != NULL) {
 			skb1 = skb_copy(skb, GFP_ATOMIC);
 			if (skb1 == NULL) {