diff --git a/src/agent.c b/src/agent.c
index 1ca65a857141ddbd60098bf88da39623a63ca094..2edc8ca23ff2a496ffa52fee702a4d22efac1278 100644
--- a/src/agent.c
+++ b/src/agent.c
@@ -2273,8 +2273,18 @@ static void wifi_cac_event_handler(void *c, struct blob_attr *msg)
 	event = blobmsg_data(tb[1]);
 
 	radio = agent_get_radio_with_ifname(a, ifname);
-	if (!radio)
+	if (!radio) {
+#if (EASYMESH_VERSION >=6)
+		/* If event reported on mld netdev */
+		if (agent_get_mld_by_ifname(a, ifname) &&
+		    (!strcmp(event, "cac-start") || !strcmp(event, "cac-end"))) {
+			radio = agent_get_radio_by_band(a, BAND_5);
+			if (!radio)
+				return;
+		} else
+#endif
 		return;
+	}
 
 	/* Update preferences - send CMDU when changed */
 	if (!strcmp(event, "cac-start") || !strcmp(event, "cac-end"))