diff --git a/drivers/net/wireless/ipw2200.c b/drivers/net/wireless/ipw2200.c
index 549f582..a763092 100644
--- a/drivers/net/wireless/ipw2200.c
+++ b/drivers/net/wireless/ipw2200.c
@@ -1882,18 +1882,6 @@
 		return -EAGAIN;
 	}
 
-	if (priv->status & STATUS_ASSOCIATING) {
-		IPW_DEBUG_HC("abandon a command while associating\n");
-		spin_unlock_irqrestore(&priv->lock, flags);
-		return -1;
-	}
-
-	if (priv->status & STATUS_DISASSOCIATING) {
-		IPW_DEBUG_HC("abandon a command while disassociating\n");
-		spin_unlock_irqrestore(&priv->lock, flags);
-		return -1;
-	}
-
 	priv->status |= STATUS_HCMD_ACTIVE;
 
 	if (priv->cmdlog) {
@@ -3697,10 +3685,14 @@
 			MAC_ARG(priv->assoc_request.bssid),
 			priv->assoc_request.channel);
 
+	priv->status &= ~(STATUS_ASSOCIATING | STATUS_ASSOCIATED);
+	priv->status |= STATUS_DISASSOCIATING;
+
 	if (quiet)
 		priv->assoc_request.assoc_type = HC_DISASSOC_QUIET;
 	else
 		priv->assoc_request.assoc_type = HC_DISASSOCIATE;
+
 	err = ipw_send_associate(priv, &priv->assoc_request);
 	if (err) {
 		IPW_DEBUG_HC("Attempt to send [dis]associate command "
@@ -3708,9 +3700,6 @@
 		return;
 	}
 
-	priv->status &= ~(STATUS_ASSOCIATING | STATUS_ASSOCIATED);
-	priv->status |= STATUS_DISASSOCIATING;
-
 }
 
 static int ipw_disassociate(void *data)
@@ -7672,6 +7661,8 @@
 	 */
 	priv->channel = network->channel;
 	memcpy(priv->bssid, network->bssid, ETH_ALEN);
+	priv->status |= STATUS_ASSOCIATING;
+	priv->status &= ~STATUS_SECURITY_UPDATED;
 
 	priv->assoc_network = network;
 
@@ -7685,9 +7676,6 @@
 		return err;
 	}
 
-	priv->status |= STATUS_ASSOCIATING;
-	priv->status &= ~STATUS_SECURITY_UPDATED;
-
 	IPW_DEBUG(IPW_DL_STATE, "associating: '%s' " MAC_FMT " \n",
 		  escape_essid(priv->essid, priv->essid_len),
 		  MAC_ARG(priv->bssid));
@@ -7791,6 +7779,13 @@
 		return 0;
 	}
 
+	if (priv->status & STATUS_DISASSOCIATING) {
+		IPW_DEBUG_ASSOC("Not attempting association (in "
+				"disassociating)\n ");
+		queue_work(priv->workqueue, &priv->associate);
+		return 0;
+	}
+
 	if (!ipw_is_init(priv) || (priv->status & STATUS_SCANNING)) {
 		IPW_DEBUG_ASSOC("Not attempting association (scanning or not "
 				"initialized)\n");
