diff --git a/src/config.c b/src/config.c
index 644110f896c318e9a0fd4b59f070c848753b18c5..eb565f4e6057ac3c3d1da49694af6d2551db4665 100644
--- a/src/config.c
+++ b/src/config.c
@@ -1187,36 +1187,37 @@ int uci_apply_m2(struct agent_config *cfg, char *interface_name, char *device,
 		uci_set_wireless_interface_option(UCI_WIRELESS, UCI_WLAN_IFACE,	"ifname",
 				interface_name, "bss_transition", "1");
 
-		do {
-			char buf[512] = {0};
-			char basemacstr[18] = {0};
-			uint8_t basemac[6] = {0};
+	}
 
-			if (!config_find_uuid(cfg, buf)) {
-				chrCmd(buf, sizeof(buf), "db -q get hw.board.basemac");
-				if (buf[0] != '\0' && strlen(buf) == 17)
-					strncpy(basemacstr, buf, 17);
+	do {
+		char buf[512] = {0};
+		char basemacstr[18] = {0};
+		uint8_t basemac[6] = {0};
 
-				dbg("basemac: %s\n", basemacstr);
-				hwaddr_aton(buf, basemac);
+		if (!config_find_uuid(cfg, buf)) {
+			chrCmd(buf, sizeof(buf), "db -q get hw.board.basemac");
+			if (buf[0] != '\0' && strlen(buf) == 17)
+				strncpy(basemacstr, buf, 17);
 
-				memset(buf, 0, sizeof(buf));
-				chrCmd(buf, sizeof(buf), "uuidgen -s -r | cut -c 1-24");
+			dbg("basemac: %s\n", basemacstr);
+			hwaddr_aton(buf, basemac);
 
-				if (buf[0] == '\0' || strlen(buf) != 36) {
-					dbg("uuidgen error!\n");
-					break;
-				}
+			memset(buf, 0, sizeof(buf));
+			chrCmd(buf, sizeof(buf), "uuidgen -s -r | cut -c 1-24");
 
-				snprintf(buf + 24, 13, "%02X%02X%02X%02X%02X%02X",
-					MAC2STR(basemac));
+			if (buf[0] == '\0' || strlen(buf) != 24) {
+				dbg("uuidgen error!\n");
+				break;
 			}
 
-			dbg("UUID: %s\n", buf);
-			uci_set_wireless_interface_option(UCI_WIRELESS, UCI_WLAN_IFACE,
-					"ifname", interface_name, "uuid", buf);
-		} while(0);
-	}
+			snprintf(buf + 24, 13, "%02X%02X%02X%02X%02X%02X",
+				MAC2STR(basemac));
+		}
+
+		dbg("UUID: %s\n", buf);
+		uci_set_wireless_interface_option(UCI_WIRELESS, UCI_WLAN_IFACE,
+				"ifname", interface_name, "uuid", buf);
+	} while(0);
 
 	if (multi_ap == 0x01) {
 		char buf[2] = {0};