diff --git a/src/agent.c b/src/agent.c
index bb29a3f4df426e78c69406b37f8d7ce8b87f20e1..61c4ec28b2e661a9e26f3acd868e5fe826bc1475 100644
--- a/src/agent.c
+++ b/src/agent.c
@@ -1287,8 +1287,12 @@ static int update_sta_entry(struct agent *a, struct netif_ap *ap, struct wifi_st
 			s->rx_fail_pkts = e->stats.rx_fail_pkts;
 			s->rtx_pkts = e->stats.tx_retry_pkts;
 
-
 			memcpy(s->bssid, e->bssid, 6);
+
+			if (!!(e->caps.valid & WIFI_CAP_RM_VALID)) {
+				s->supports_bcnreport =
+					wifi_cap_isset(e->cbitmap, WIFI_CAP_RM_NBR_REPORT) ? true : false;
+			}
 #ifdef UBUS_STA_INFO
 			wifiagent_log_stainfo(ap->agent, s);
 #endif