diff --git a/src/agent.c b/src/agent.c
index dfff3af9eb53f5363c714e8545fd43705fdf5a0e..6a161092cece21e2710f95e80ba9abced9fa3e41 100644
--- a/src/agent.c
+++ b/src/agent.c
@@ -5761,6 +5761,7 @@ struct wifi_radio_element *agent_add_radio(struct agent *a, char *name)
 	timer_init(&re->bk.steer_timeout, bsta_steer_cb);
 	timer_init(&re->unassoc_sta_meas_timer,
 				agent_unassoc_sta_meas_timer_cb);
+
 	return re;
 }
 
@@ -5790,6 +5791,11 @@ static int init_wifi_radios(struct agent *a)
 		dbg("%s: getting radio:%s status\n", __func__, re->name);
 		ret = ubus_call_object(a, r_wobj, "status", parse_radio, re);
 
+		if (!ret && !re->autconfig.sha256[0])
+			if (autoconfig_read_hash_from_file(re->macaddr, re->autconfig.sha256))
+				dbg("%s: Autoconfig SHA256 for radio %s is unset\n",
+					__func__, re->name);
+
 		/* Get fresh opclass preferences after scan */
 		wifi_radio_update_opclass_preferences(a, re, 1);
 		agent_set_post_scan_action_pref(a, re, true);
diff --git a/src/agent_map.c b/src/agent_map.c
index 2daa91c85da5c53f2b60bd411f716f3f7412a5ae..0b488a961fc9c1c6d605c562f20451b0bc61a3cf 100644
--- a/src/agent_map.c
+++ b/src/agent_map.c
@@ -2425,6 +2425,7 @@ int handle_ap_autoconfig_wsc(void *agent, struct cmdu_buff *rx_cmdu,
 		return -1;
 
 	dbg("|%s:%d| found radio = %s\n", __func__, __LINE__, radio->name);
+
 	if (!autoconfig_has_wsc_changed(&radio->autconfig, tv,
 				AP_AUTOCONFIGURATION_WSC_M2_NUM_OF_TLV_TYPES,
 				new_sha256)) {
diff --git a/src/autoconfig.c b/src/autoconfig.c
index 4709d767fcadc43aea6c82558a736a4011ba20e7..3f3bc0d463a8ee1489b1aaa24c7e36cddfd84dbe 100644
--- a/src/autoconfig.c
+++ b/src/autoconfig.c
@@ -151,7 +151,8 @@ bool autoconfig_has_wsc_changed(struct wsc_data *data,
 		 data->sha256[4], data->sha256[5]);
 
 	agnt_dbg(LOG_APCFG, "%s: new SHA256:     %02x%02x%02x%02x%02x%02x...\n", __func__,
-		 new_sha256[0], new_sha256[1], new_sha256[2], new_sha256[3],
+		 new_sha256[0], new_sha256[1],
+		 new_sha256[2], new_sha256[3],
 		 new_sha256[4], new_sha256[5]);
 
 	memcpy(sha256_out, new_sha256, SHA256_LENGTH);
@@ -160,6 +161,7 @@ bool autoconfig_has_wsc_changed(struct wsc_data *data,
 
 error_cleanup:
 	EVP_MD_CTX_free(ctx);
+
 	return ret;
 }
 
@@ -350,7 +352,6 @@ int autoconfig_read_hash_from_file(uint8_t *macaddr, uint8_t *sha256_out)
 		uint8_t radio_mac[6] = {0};
 		char *sh256_str;
 		int blen;
-		//char * data;
 
 		blobmsg_parse(radio_attr, ARRAY_SIZE(radio_attr), tb1, blobmsg_data(b), blob_len(b));
 		if (!tb1[0] || !tb1[1])
@@ -382,6 +383,12 @@ int autoconfig_read_hash_from_file(uint8_t *macaddr, uint8_t *sha256_out)
 		strtob(sh256_str, blen, sha256_out);
 	}
 
+	dbg("%s: Read autoconfig SHA256 for radio " MACFMT ": %02x%02x%02x%02x%02x%02x...\n",
+		__func__, MAC2STR(macaddr),
+		sha256_out[0], sha256_out[1],
+		sha256_out[2], sha256_out[3],
+		sha256_out[4], sha256_out[5]);
+
 out:
 	blob_buf_free(&radios);
 
diff --git a/src/autoconfig.h b/src/autoconfig.h
index 026d5278d3d24c51d576f3536b37b22c5646aab5..a46467d9b604736ed60a4a7975beec71dfe1cf11 100644
--- a/src/autoconfig.h
+++ b/src/autoconfig.h
@@ -24,7 +24,7 @@ struct wsc_data {
 
 void autoconfig_clean_wsc_hash(struct wsc_data *wsc);
 void autoconfig_update_wsc_hash(struct wsc_data *data, uint8_t *new_sha256);
-bool autoconfig_has_wsc_changed(struct wsc_data *wsc,
+bool autoconfig_has_wsc_changed(struct wsc_data *data,
 			  struct tlv *tlvs[][TLV_MAXNUM],
 			  size_t tlvs_size,
 			  uint8_t *sha256_out);