diff --git a/wpa_supplicant/p2p_supplicant.c b/wpa_supplicant/p2p_supplicant.c
index f97d2fa..e6b0128 100644
--- a/wpa_supplicant/p2p_supplicant.c
+++ b/wpa_supplicant/p2p_supplicant.c
@@ -5444,32 +5444,35 @@
 	struct p2p_data *p2p = wpa_s->global->p2p;
 
 	for (iface = wpa_s->global->ifaces; iface; iface = iface->next) {
-		if((iface->p2p_group_interface) && (iface->current_ssid) &&
-			(iface->current_ssid->frequency != freq)) {
+		if ((iface->current_ssid) &&
+		    (iface->current_ssid->frequency != freq) &&
+		    ((iface->p2p_group_interface) ||
+		     (iface->current_ssid->p2p_group))) {
 
-			if (iface->p2p_group_interface == P2P_GROUP_INTERFACE_GO) {
-					/* Try to see whether we can move the GO. If it
-					 * is not possible, remove the GO interface
-					 */
-					if(wpa_drv_switch_channel(iface, freq) == 0) {
-							wpa_printf(MSG_ERROR, "P2P: GO Moved to freq(%d)", freq);
-							iface->current_ssid->frequency = freq;
-							continue;
-					}
+			if ((iface->p2p_group_interface == P2P_GROUP_INTERFACE_GO)  ||
+			    (iface->current_ssid->mode == WPAS_MODE_P2P_GO)) {
+				/* Try to see whether we can move the GO. If it
+				 * is not possible, remove the GO interface
+				 */
+				if (wpa_drv_switch_channel(iface, freq) == 0) {
+					wpa_printf(MSG_ERROR, "P2P: GO Moved to freq(%d)", freq);
+					iface->current_ssid->frequency = freq;
+					continue;
+				}
 			}
 
 			/* If GO cannot be moved or if the conflicting interface is a
 			 * P2P Client, remove the interface depending up on the connection
 			 * priority */
-			if(!wpas_is_p2p_prioritized(wpa_s)) {
+			if (!wpas_is_p2p_prioritized(wpa_s)) {
 				/* STA connection has priority over existing
 				 * P2P connection. So remove the interface */
-				wpa_printf(MSG_DEBUG, "P2P: Removing P2P connection due to Single channel"
+				wpa_printf(MSG_DEBUG, "P2P: Removing P2P connection due to Single channel "
 						"concurrent mode frequency conflict");
 				wpas_p2p_group_delete(iface, P2P_GROUP_REMOVAL_FREQ_CONFLICT);
 			} else {
 				/* Existing connection has the priority. Disable the newly
-                 * selected network and let the application know about it.
+				 * selected network and let the application know about it.
  				 */
 				return -1;
 			}
