diff --git a/src/agent.c b/src/agent.c
index 10e0506ddb6a4437d218792b821a0ec9969e4134..76f4d16fb2b850242e2ccd8fd16001d998a06327 100644
--- a/src/agent.c
+++ b/src/agent.c
@@ -2292,8 +2292,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"))