diff --git a/src/core/cntlr_map.c b/src/core/cntlr_map.c
index 824d12600eeba11a718159baeb6cb12291799d1d..6f78b7bfeb6fc73541b7d013768f9b505295a861 100644
--- a/src/core/cntlr_map.c
+++ b/src/core/cntlr_map.c
@@ -194,7 +194,7 @@ int handle_ap_autoconfig_search(void *cntlr, struct cmdu_buff *rx_cmdu)
 	struct cmdu_buff *cmdu;
 	uint8_t aladdr_origin[6] = {0};
 	struct tlv *tv[6][16] = {0};
-	int ret = 0;
+	int ret = 0, i;
 
 	ret = cmdu_parse_tlvs(rx_cmdu, tv, a_policy, 6);
 
@@ -233,43 +233,40 @@ int handle_ap_autoconfig_search(void *cntlr, struct cmdu_buff *rx_cmdu)
 		return -1;
 
 	/* if supports agent, add to config */
-	if (tv[3][0]->data[0] > 0) {
-		int i;
+	for (i = 1; i <= tv[3][0]->data[0]; i++) {
 		char mac_str[18] = {0};
-		int len = 0;
 
 		if (!hwaddr_ntoa(aladdr_origin, mac_str))
 			return -1;
 
-		for (i = 1; i <= tv[3][0]->data[0]; i++) {
-			if (tv[3][0]->data[i] ==
-					SUPPORTED_SERVICE_MULTIAP_AGENT) {
-				ret = cntlr_config_add_agent(&c->cfg, mac_str);
-				if (!ret)
-					cntlr_config_reload(&c->cfg);
-			} else if (tv[3][0]->data[i] ==
-					SUPPORTED_SERVICE_MULTIAP_CONTROLLER) {
-				if (!memcmp(aladdr_origin, c->almac, 6)) {
-					trace("%s: Discard ap-autoconfig "\
-							"search from self\n",
-							__func__);
-					return -1;
-				}
+		if (tv[3][0]->data[i] ==
+				SUPPORTED_SERVICE_MULTIAP_AGENT) {
+			ret = cntlr_config_add_agent(&c->cfg, mac_str);
+			if (!ret)
+				cntlr_config_reload(&c->cfg);
+		} else if (tv[3][0]->data[i] ==
+				SUPPORTED_SERVICE_MULTIAP_CONTROLLER) {
+			if (!memcmp(aladdr_origin, c->almac, 6)) {
+				trace("%s: Discard ap-autoconfig search"\
+						" from self\n", __func__);
+				return -1;
 			}
-			break;
-		}
-	}
-
-	if (c->state == CNTLR_INIT) {
-		trace("Disable and exit\n");
-		set_value_by_string("mapcontroller", "controller", "enabled", "0",
-				UCI_TYPE_STRING);
-		exit(0);
-	} else {
-		char data[128] = {0};
 
-		snprintf(data, sizeof(data), "{\"type\":\"error\", \"reason\":\"multiple controllers\", \"almac\":\""MACFMT"\"}", MAC2STR(rx_cmdu->origin));
-		cntlr_notify_event(c, "map.controller", data);
+			if (c->state == CNTLR_INIT) {
+				trace("Disable and exit\n");
+				set_value_by_string("mapcontroller",
+						"controller",
+						"enabled", "0",
+						UCI_TYPE_STRING);
+				exit(0);
+			} else {
+				char data[128] = {0};
+
+				snprintf(data, sizeof(data), "{\"type\":\"error\", \"reason\":\"multiple controllers\", \"almac\":\""MACFMT"\"}", MAC2STR(rx_cmdu->origin));
+				cntlr_notify_event(c, "map.controller", data);
+			}
+		}
+		break;
 	}
 
 	/* TODO: don't answer if searched service does not include controller */