diff --git a/src/agent.c b/src/agent.c
index b9fe375ab2939d91651c368beec73bf60080c543..9c8eb0c9de966ce3d061c5864d8ed6f694ec10c5 100644
--- a/src/agent.c
+++ b/src/agent.c
@@ -4481,6 +4481,8 @@ static void _enumerate_wifi_objects(struct ubus_request *req, int type,
 	struct radio_apcfg_state {
 		char name[16];
 		enum autocfg_state state;
+		uint16_t mid;
+		uint16_t wsc_mid;
 	} apcfg_state[WIFI_DEVICE_MAX_NUM] = {0};
 	struct agent *a = (struct agent *)req->priv;
 	struct json_object *json_msg;
@@ -4511,6 +4513,9 @@ static void _enumerate_wifi_objects(struct ubus_request *req, int type,
 			strncpy(apcfg_state[i].name, a->radios[i].name,
 				IFNAMSIZ - 1);
 			apcfg_state[i].state = a->radios[i].state;
+			apcfg_state[i].mid = a->radios[i].mid;
+			apcfg_state[i].wsc_mid = a->radios[i].wsc_mid;
+
 		}
 		prev_len = a->num_radios;
 		/* clears radio apcfg states */
@@ -4542,6 +4547,8 @@ static void _enumerate_wifi_objects(struct ubus_request *req, int type,
 			if (!strncmp(apcfg_state[j].name, a->radios[i].name,
 				     IFNAMSIZ - 1)) {
 				a->radios[i].state = apcfg_state[j].state;
+				a->radios[i].mid = apcfg_state[j].mid;
+				a->radios[i].wsc_mid = apcfg_state[j].wsc_mid;
 			}
 		}
 
@@ -6034,6 +6041,8 @@ int wifiagent_get_status(struct ubus_context *ctx,
 		blobmsg_add_u32(&bb, "bandwidth", re->current_bandwidth);
 		blobmsg_add_u32(&bb, "opclass", re->current_opclass);
 		blobmsg_add_u32(&bb, "autocfg_state", re->state);
+		blobmsg_add_u32(&bb, "autocfg_search_mid", re->mid);
+		blobmsg_add_u32(&bb, "autocfg_wsc_mid", re->wsc_mid);
 		blobmsg_close_table(&bb, t);
 	}
 	blobmsg_close_array(&bb, a);