diff --git a/openair2/LAYER2/MAC/eNB_scheduler_primitives.c b/openair2/LAYER2/MAC/eNB_scheduler_primitives.c
index 9cc5ef0476ba377e04a7b21b26116e430a70423c..2efc91571ca6e0a2326fedf6255b320488dbda23 100644
--- a/openair2/LAYER2/MAC/eNB_scheduler_primitives.c
+++ b/openair2/LAYER2/MAC/eNB_scheduler_primitives.c
@@ -4489,8 +4489,10 @@ extract_pusch_csi(module_id_t mod_idP, int CC_idP, int UE_id,
 		curbyte++;
 	    }
 	}
-	sched_ctl->dl_cqi[CC_idP] =
+        if (sched_ctl->aperiodic_wideband_cqi0[CC_idP] > 0) {
+	  sched_ctl->dl_cqi[CC_idP] =
 	    sched_ctl->aperiodic_wideband_cqi0[CC_idP];
+        }
 	break;
     case CQI_ReportModeAperiodic_rm31:
 	AssertFatal(0 == 1, "to be fixed, don't use p but pdu directly\n");