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;
 		}