--- a/net80211/ieee80211_input.c
+++ b/net80211/ieee80211_input.c
@@ -3532,6 +3532,11 @@
 		if (ic->ic_flags & IEEE80211_F_SCAN) {
 			ieee80211_add_scan(vap, &scan, wh, subtype, rssi, rtsf);
 		}
+
+		/* stop processing if the bss channel is not set up yet */
+		if (!ic->ic_bsschan || ic->ic_bsschan == IEEE80211_CHAN_ANYC)
+			break;
+
 		/* NB: Behavior of WDS-Link and Ad-Hoc is very similar here:
 		 * When we receive a beacon that belongs to the AP that we're
 		 * connected to, use it to refresh the local node info.
