diff --git a/openair2/LAYER2/MAC/defs.h b/openair2/LAYER2/MAC/defs.h
index 2416fab7f1ce59e2666dea30692bd3b48b59ac24..4e781e5b3f33f6873ee159b163aa8dd62dc6844f 100644
--- a/openair2/LAYER2/MAC/defs.h
+++ b/openair2/LAYER2/MAC/defs.h
@@ -676,6 +676,9 @@ typedef struct {
   /// Number of Allocated RBs for UL after scheduling
   uint16_t first_rb_ul[8]; // num_max_harq
 
+  /// Is CQI requested for UL after scheduling 1st transmission
+  uint8_t cqi_req[8];         // num_max_harq
+
   /// Cyclic shift for DMRS after scheduling
   uint16_t cshift[8]; // num_max_harq
 
diff --git a/openair2/LAYER2/MAC/eNB_scheduler_ulsch.c b/openair2/LAYER2/MAC/eNB_scheduler_ulsch.c
index 47819368501c9ff69634136a800a2c91239fe0a7..3b502167ef4d57bb2a0993791186129715d4bd50 100644
--- a/openair2/LAYER2/MAC/eNB_scheduler_ulsch.c
+++ b/openair2/LAYER2/MAC/eNB_scheduler_ulsch.c
@@ -1624,6 +1624,7 @@ schedule_ulsch_rnti(module_id_t module_idP,
           /* Store information for possible retransmission */
           UE_template_ptr->nb_rb_ul[harq_pid] = rb_table[rb_table_index];
           UE_template_ptr->first_rb_ul[harq_pid] = first_rb_slice[CC_id];
+          UE_template_ptr->cqi_req[harq_pid] = cqi_req;
           UE_sched_ctrl_ptr->ul_scheduled |= (1 << harq_pid);
 
           if (UE_id == UE_list->head) {
@@ -1811,6 +1812,7 @@ schedule_ulsch_rnti(module_id_t module_idP,
 
           ul_req_index = 0;
           dlsch_flag = 0;
+          cqi_req = UE_template_ptr->cqi_req[harq_pid];
 
           for(ul_req_index = 0; ul_req_index < ul_req_tmp_body->number_of_pdus; ul_req_index++) {
             if(ul_req_tmp_body->ul_config_pdu_list[ul_req_index].pdu_type == NFAPI_UL_CONFIG_UCI_HARQ_PDU_TYPE &&
diff --git a/openair2/LAYER2/MAC/mac.h b/openair2/LAYER2/MAC/mac.h
index fc457c2ee75ca8378e86ee9d995ca69197871401..2b436a0a04802da7fff01b3d5fb2cf96b0f55fa0 100644
--- a/openair2/LAYER2/MAC/mac.h
+++ b/openair2/LAYER2/MAC/mac.h
@@ -815,6 +815,9 @@ typedef struct {
     /// Number of Allocated RBs for UL after scheduling
     uint16_t first_rb_ul[8];	// num_max_harq
 
+    /// Is CQI requested for UL after scheduling 1st transmission
+    uint8_t cqi_req[8];         // num_max_harq
+
     /// Cyclic shift for DMRS after scheduling
     uint16_t cshift[8];		// num_max_harq