diff --git a/src/cntlr.c b/src/cntlr.c
index badc8a9ce170949aa94feab775e8dc3f116758c8..133cb2a1b3e0b810151ff8f1b448f4733d48635d 100644
--- a/src/cntlr.c
+++ b/src/cntlr.c
@@ -814,7 +814,8 @@ static void cntlr_bcn_metrics_parse(atimer_t *t)
 	    __func__, MAC2STR(s->de_sta->macaddr), MAC2STR(s->bssid), MAC2STR(n->alid));
 
 	list_for_each_entry_safe(b, tmp, &s->de_sta->meas_reportlist, list) {
-		dbg("bcn-report from " MACFMT "\n", MAC2STR(b->bssid));
+		dbg("bcn-report from " MACFMT " %s\n",
+		    MAC2STR(b->bssid), b->stale ? "(stale)":"");
 
 		/* Skip entry not in our network */
 		bss = cntlr_iterate_fbss(c, b->bssid);
diff --git a/src/cntlr_ubus_dbg.c b/src/cntlr_ubus_dbg.c
index 3e136264fc7f2153c988886ccb4dc11d666390e8..7115c212d9764766bd6811c1df147f49863987d4 100644
--- a/src/cntlr_ubus_dbg.c
+++ b/src/cntlr_ubus_dbg.c
@@ -53,6 +53,15 @@
 
 #ifndef MAP_CNTLR_DISABLE_UBUS_DBG
 
+enum {
+	CLR_STEER_SUMMARY_STA,
+	__CLR_STEER_SUMMARY_MAX,
+};
+
+static const struct blobmsg_policy clr_steer_summary_params[__CLR_STEER_SUMMARY_MAX] = {
+	[CLR_STEER_SUMMARY_STA] = { .name = "sta", .type = BLOBMSG_TYPE_STRING},
+};
+
 static int cntlr_dbg_list_macs(struct ubus_context *ctx, struct ubus_object *obj,
 			struct ubus_request_data *req, const char *method,
 			struct blob_attr *msg)
@@ -90,6 +99,71 @@ static int cntlr_dbg_list_macs(struct ubus_context *ctx, struct ubus_object *obj
 	return UBUS_STATUS_OK;
 }
 
+static int cntlr_dbg_clear_steer_summary(struct ubus_context *ctx, struct ubus_object *obj,
+			struct ubus_request_data *req, const char *method,
+			struct blob_attr *msg)
+{
+	struct controller *c = container_of(obj, struct controller, obj_dbg);
+	struct blob_attr *tb[__CLR_STEER_SUMMARY_MAX];
+	uint8_t macaddr[6] = {0};
+	char sta[18] = {0};
+	struct sta *s = NULL;
+
+	blobmsg_parse(clr_steer_summary_params, __CLR_STEER_SUMMARY_MAX, tb,
+			blob_data(msg), blob_len(msg));
+
+	if (tb[CLR_STEER_SUMMARY_STA]) {
+		strncpy(sta, blobmsg_data(tb[CLR_STEER_SUMMARY_STA]),
+				sizeof(sta) - 1);
+		if (!hwaddr_aton(sta, macaddr)) {
+			dbg("|%s:%d|Must provide valid STA address!\n",
+					__func__, __LINE__);
+			return UBUS_STATUS_UNKNOWN_ERROR;
+		}
+	}
+
+	if (!hwaddr_is_zero(macaddr)) {
+		s = cntlr_find_sta(c, macaddr);
+		if (s) {
+			s->de_sta->mapsta.stats.no_candidate_cnt = 0;
+			s->de_sta->mapsta.stats.blacklist_attempt_cnt = 0;
+			s->de_sta->mapsta.stats.blacklist_success_cnt = 0;
+			s->de_sta->mapsta.stats.blacklist_failure_cnt = 0;
+			s->de_sta->mapsta.stats.btm_attempt_cnt = 0;
+			s->de_sta->mapsta.stats.btm_success_cnt = 0;
+			s->de_sta->mapsta.stats.btm_failure_cnt = 0;
+			s->de_sta->mapsta.stats.btm_query_resp_cnt = 0;
+			timestamp_reset(&s->de_sta->mapsta.stats.last_attempt_tsp);
+			timestamp_reset(&s->de_sta->mapsta.stats.last_steer_tsp);
+		}
+		return UBUS_STATUS_OK;
+	}
+
+	list_for_each_entry(s, &c->stalist, list) {
+		s->de_sta->mapsta.stats.no_candidate_cnt = 0;
+		s->de_sta->mapsta.stats.blacklist_attempt_cnt = 0;
+		s->de_sta->mapsta.stats.blacklist_success_cnt = 0;
+		s->de_sta->mapsta.stats.blacklist_failure_cnt = 0;
+		s->de_sta->mapsta.stats.btm_attempt_cnt = 0;
+		s->de_sta->mapsta.stats.btm_success_cnt = 0;
+		s->de_sta->mapsta.stats.btm_failure_cnt = 0;
+		s->de_sta->mapsta.stats.btm_query_resp_cnt = 0;
+		timestamp_reset(&s->de_sta->mapsta.stats.last_attempt_tsp);
+		timestamp_reset(&s->de_sta->mapsta.stats.last_steer_tsp);
+	}
+
+	c->dlem.network.steer_summary.no_candidate_cnt = 0;
+	c->dlem.network.steer_summary.blacklist_attempt_cnt = 0;
+	c->dlem.network.steer_summary.blacklist_success_cnt = 0;
+	c->dlem.network.steer_summary.blacklist_failure_cnt = 0;
+	c->dlem.network.steer_summary.btm_attempt_cnt = 0;
+	c->dlem.network.steer_summary.btm_success_cnt = 0;
+	c->dlem.network.steer_summary.btm_failure_cnt = 0;
+	c->dlem.network.steer_summary.btm_query_resp_cnt = 0;
+
+	return UBUS_STATUS_OK;
+}
+
 #if (EASYMESH_VERSION > 2)
 static int cntlr_dbg_list_uris(struct ubus_context *ctx, struct ubus_object *obj,
 			struct ubus_request_data *req, const char *method,
@@ -165,6 +239,8 @@ int cntlr_publish_dbg_object(struct controller *c, const char *objname)
 	struct ubus_method *obj_methods;
 	struct ubus_method m[] = {
 		UBUS_METHOD_NOARG("list_macs", cntlr_dbg_list_macs),
+		UBUS_METHOD("clear_steer_summary", cntlr_dbg_clear_steer_summary,
+			clr_steer_summary_params),
 #if (EASYMESH_VERSION > 2)
 		UBUS_METHOD_NOARG("list_uris", cntlr_dbg_list_uris),
 #endif