diff --git a/src/agent_tlv.c b/src/agent_tlv.c
index d22fe4ef83a81115ecc1c7e5244035d4bbbc0946..7b12fe5e89d00fcea79b79b19e7c1303452af5d6 100644
--- a/src/agent_tlv.c
+++ b/src/agent_tlv.c
@@ -959,6 +959,15 @@ int agent_gen_cac_complete_report(struct agent *a, struct cmdu_buff *frm, uint8_
re->cac_request.report_failed_status = 0;
re->cac_request.report_failed = false;
num_radios++;
+
+ if (re->cac_request.report_failed_status == CAC_COMP_REPORT_STATUS_TOO_BUSY &&
+ timestamp_elapsed_sec(&re->cac_request.time) > 20 &&
+ channel &&
+ channel->dfs != WIFI_RADIO_OPCLASS_CHANNEL_DFS_CAC) {
+ /* CAC not started/aborted */
+ memset(&re->cac_request, 0, sizeof(re->cac_request));
+ }
+
continue;
}