diff --git a/drivers/net/wireless/iwlwifi/iwl-agn.c b/drivers/net/wireless/iwlwifi/iwl-agn.c
index 5e476a8..d70dd6f 100644
--- a/drivers/net/wireless/iwlwifi/iwl-agn.c
+++ b/drivers/net/wireless/iwlwifi/iwl-agn.c
@@ -1151,6 +1151,7 @@
 	struct iwl_priv *priv;
 	struct ieee80211_hw *hw;
 	u16 num_mac;
+	u32 ucode_flags;
 
 	/************************
 	 * 1. Allocating HW data
@@ -1242,6 +1243,22 @@
 	 ************************/
 	iwl_set_hw_params(priv);
 
+	ucode_flags = fw->ucode_capa.flags;
+
+#ifndef CONFIG_IWLWIFI_P2P
+	ucode_flags &= ~IWL_UCODE_TLV_FLAGS_PAN;
+#endif
+	if (!(hw_params(priv).sku & EEPROM_SKU_CAP_IPAN_ENABLE))
+		ucode_flags &= ~IWL_UCODE_TLV_FLAGS_PAN;
+
+	/*
+	 * if not PAN, then don't support P2P -- might be a uCode
+	 * packaging bug or due to the eeprom check above
+	 */
+	if (!(ucode_flags & IWL_UCODE_TLV_FLAGS_PAN))
+		ucode_flags &= ~IWL_UCODE_TLV_FLAGS_P2P;
+
+
 	/*******************
 	 * 6. Setup priv
 	 *******************/
@@ -1266,9 +1283,9 @@
 		 "%s", fw->fw_version);
 
 	priv->new_scan_threshold_behaviour =
-		!!(fw->ucode_capa.flags & IWL_UCODE_TLV_FLAGS_NEWSCAN);
+		!!(ucode_flags & IWL_UCODE_TLV_FLAGS_NEWSCAN);
 
-	if (fw->ucode_capa.flags & IWL_UCODE_TLV_FLAGS_PAN) {
+	if (ucode_flags & IWL_UCODE_TLV_FLAGS_PAN) {
 		priv->sta_key_max_num = STA_KEY_MAX_NUM_PAN;
 		priv->shrd->cmd_queue = IWL_IPAN_CMD_QUEUE_NUM;
 	} else {
@@ -1282,7 +1299,7 @@
 		fw->ucode_capa.standard_phy_calibration_size + 1;
 
 	/* initialize all valid contexts */
-	iwl_init_context(priv, fw->ucode_capa.flags);
+	iwl_init_context(priv, ucode_flags);
 
 	/**************************************************
 	 * This is still part of probe() in a sense...
