diff --git a/wpa_supplicant/events.c b/wpa_supplicant/events.c
index e729e82..ee0af50 100644
--- a/wpa_supplicant/events.c
+++ b/wpa_supplicant/events.c
@@ -2263,23 +2263,39 @@
 		if (wpa_s->drv_flags & WPA_DRIVER_FLAGS_SME)
 			sme_event_assoc_reject(wpa_s, data);
 #ifdef ANDROID_P2P
-		/* If assoc reject is reported by the driver, then avoid
-		 * waiting for  the authentication timeout. Cancel the
-		 * authentication timeout and retry the assoc.
-		 */
-		if(wpa_s->assoc_retries++ < 5) {
-			wpa_printf(MSG_ERROR, "Retrying assoc "
-			"Iteration:%d", wpa_s->assoc_retries);
-			wpa_supplicant_cancel_auth_timeout(wpa_s);
+#ifdef CONFIG_P2P
+		else if (wpa_s->p2p_group_interface != NOT_P2P_GROUP_INTERFACE) {
+			if (!wpa_s->current_ssid) {
+				wpa_printf(MSG_ERROR, "current_ssid == NULL");
+				break;
+			}
+			/* If assoc reject is reported by the driver, then avoid
+			 * waiting for  the authentication timeout. Cancel the
+			 * authentication timeout and retry the assoc.
+			 */
+			if (wpa_s->current_ssid->assoc_retry++ < 5) {
+				wpa_printf(MSG_ERROR, "Retrying assoc: %d ",
+								wpa_s->current_ssid->assoc_retry);
+				wpa_supplicant_cancel_auth_timeout(wpa_s);
 
-			/* Clear the states */
-			wpa_sm_notify_disassoc(wpa_s->wpa);
-			wpa_supplicant_disassociate(wpa_s, WLAN_REASON_DEAUTH_LEAVING);
+				/* Clear the states */
+				wpa_sm_notify_disassoc(wpa_s->wpa);
+				wpa_supplicant_deauthenticate(wpa_s, WLAN_REASON_DEAUTH_LEAVING);
 
-			wpa_s->reassociate = 1;
-			wpa_supplicant_req_scan(wpa_s, 1, 0);
-		} else
-			wpa_s->assoc_retries = 0;
+				wpa_s->reassociate = 1;
+				wpa_supplicant_req_scan(wpa_s, 1, 0);
+			} else {
+				/* If we ASSOC_REJECT's hits threshold, disable the 
+				 * network
+				 */
+				wpa_printf(MSG_ERROR, "Assoc retry threshold reached. "
+				"Disabling the network");
+				wpa_s->current_ssid->assoc_retry = 0;
+				wpa_supplicant_disable_network(wpa_s, wpa_s->current_ssid);
+				wpas_p2p_group_remove(wpa_s, wpa_s->ifname);
+			}
+		}
+#endif
 #endif /* ANDROID_P2P */
 		break;
 	case EVENT_AUTH_TIMED_OUT:
