wiphy->features |= NL80211_FEATURE_HT_IBSS |
                           NL80211_FEATURE_INACTIVITY_TIMER |
                           NL80211_FEATURE_LOW_PRIORITY_SCAN |
-                          NL80211_FEATURE_NEED_OBSS_SCAN |
-                          NL80211_FEATURE_SCAN_RANDOM_MAC_ADDR |
-                          NL80211_FEATURE_SCHED_SCAN_RANDOM_MAC_ADDR |
-                          NL80211_FEATURE_ND_RANDOM_MAC_ADDR;
+                          NL80211_FEATURE_NEED_OBSS_SCAN;
+
+       if (ISSUPP_RANDOM_MAC(adapter->fw_cap_info))
+               wiphy->features |= NL80211_FEATURE_SCAN_RANDOM_MAC_ADDR |
+                                  NL80211_FEATURE_SCHED_SCAN_RANDOM_MAC_ADDR |
+                                  NL80211_FEATURE_ND_RANDOM_MAC_ADDR;
 
        if (ISSUPP_TDLS_ENABLED(adapter->fw_cap_info))
                wiphy->features |= NL80211_FEATURE_TDLS_CHANNEL_SWITCH;
 
 #define ISSUPP_DRCS_ENABLED(FwCapInfo) (FwCapInfo & BIT(15))
 #define ISSUPP_SDIO_SPA_ENABLED(FwCapInfo) (FwCapInfo & BIT(16))
 #define ISSUPP_ADHOC_ENABLED(FwCapInfo) (FwCapInfo & BIT(25))
+#define ISSUPP_RANDOM_MAC(FwCapInfo) (FwCapInfo & BIT(27))
 
 #define MWIFIEX_DEF_HT_CAP     (IEEE80211_HT_CAP_DSSSCCK40 | \
                                 (1 << IEEE80211_HT_CAP_RX_STBC_SHIFT) | \