}
                }
 
-               flags = bssid_bitmap | (s_ssid_bitmap << 16);
-
                if (cfg80211_channel_is_psc(params->channels[i]) &&
                    psc_no_listen)
                        flags |= IWL_UHB_CHAN_CFG_FLAG_PSC_CHAN_NO_LISTEN;
                                          (s_max > 1 || b_max > 3));
                }
                if ((allow_passive && force_passive) ||
-                   (!flags && !cfg80211_channel_is_psc(params->channels[i])))
+                   (!(bssid_bitmap | s_ssid_bitmap) &&
+                    !cfg80211_channel_is_psc(params->channels[i])))
                        flags |= IWL_UHB_CHAN_CFG_FLAG_FORCE_PASSIVE;
+               else
+                       flags |= bssid_bitmap | (s_ssid_bitmap << 16);
 
                channel_cfg[i].flags |= cpu_to_le32(flags);
        }