diff --git a/openair2/ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac.c b/openair2/ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac.c
index d60a9eb3b73643edc113630b557d003ac6e82c6a..4f91e65c6a27d885dc0b2e21269e03205cba2e49 100644
--- a/openair2/ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac.c
+++ b/openair2/ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac.c
@@ -219,21 +219,21 @@ int flexran_agent_mac_stats_reply(mid_t mod_id,
                                      
                                     if (flexran_get_antenna_ports(enb_id, j) == 2 && csi_reports[j]->ri == 1) {
                                         // TODO PMI
-                                        csi11->wb_pmi = flexran_get_ue_pmi(enb_id);                          
+                                        csi11->wb_pmi = flexran_get_ue_wpmi(enb_id, i, 0);
                                         csi11->has_wb_pmi = 1;
 
                                        }   
 
                                       else if (flexran_get_antenna_ports(enb_id, j) == 2 && csi_reports[j]->ri == 2){
                                         // TODO PMI
-                                        csi11->wb_pmi = flexran_get_ue_pmi(enb_id);                                      
+                                        csi11->wb_pmi = flexran_get_ue_wpmi(enb_id, i, 0);
                                         csi11->has_wb_pmi = 1;
 
                                       }
 
                                       else if (flexran_get_antenna_ports(enb_id, j) == 4 && csi_reports[j]->ri == 2){
                                         // TODO PMI
-                                        csi11->wb_pmi = flexran_get_ue_pmi(enb_id);                                      
+                                        csi11->wb_pmi = flexran_get_ue_wpmi(enb_id, i, 0);
                                         csi11->has_wb_pmi = 1;
 
 
@@ -868,13 +868,16 @@ int flexran_agent_mac_sf_trigger(mid_t mod_id, const void *params, Protocol__Fle
       protocol__flex_ul_info__init(ul_info[i]);
       ul_info[i]->rnti = flexran_get_ue_crnti(mod_id, i);
       ul_info[i]->has_rnti = 1;
-      /*Fill in the Tx power control command for this UE (if available)*/
-      if(flexran_get_tpc(mod_id,i) != 1){
-    	  ul_info[i]->tpc = flexran_get_tpc(mod_id,i);
+      /* Fill in the Tx power control command for this UE (if available),
+       * primary carrier */
+      if(flexran_get_tpc(mod_id, i, 0) != 1){
+          /* assume primary carrier */
+          ul_info[i]->tpc = flexran_get_tpc(mod_id, i, 0);
           ul_info[i]->has_tpc = 1;
       }
       else{
-    	  ul_info[i]->tpc = flexran_get_tpc(mod_id,i);
+          /* assume primary carrier */
+          ul_info[i]->tpc = flexran_get_tpc(mod_id, i, 0);
     	  ul_info[i]->has_tpc = 0;
       }
       /*TODO: fill in the amount of data in bytes in the MAC SDU received in this subframe for the
diff --git a/openair2/ENB_APP/CONTROL_MODULES/RRC/flexran_agent_rrc.c b/openair2/ENB_APP/CONTROL_MODULES/RRC/flexran_agent_rrc.c
index 6f42d1da9726073f085aa233db9c6dd2debb565b..590e9c870f8b6c72915959e76631d892670398d6 100644
--- a/openair2/ENB_APP/CONTROL_MODULES/RRC/flexran_agent_rrc.c
+++ b/openair2/ENB_APP/CONTROL_MODULES/RRC/flexran_agent_rrc.c
@@ -165,9 +165,10 @@ void flexran_agent_ue_state_change(mid_t mod_id, uint32_t rnti, uint8_t state_ch
         config->beta_offset_cqi_index = flexran_get_beta_offset_cqi_index(mod_id,i);
         }
 
-        if(flexran_get_ack_nack_simultaneous_trans(mod_id,i) != -1) {
+        /* assume primary carrier */
+        if(flexran_get_ack_nack_simultaneous_trans(mod_id,i,0) != -1) {
         config->has_ack_nack_simultaneous_trans = 1;
-        config->ack_nack_simultaneous_trans = flexran_get_ack_nack_simultaneous_trans(mod_id,i);
+        config->ack_nack_simultaneous_trans = flexran_get_ack_nack_simultaneous_trans(mod_id,i,0);
         }
 
         if(flexran_get_simultaneous_ack_nack_cqi(mod_id,i) != -1) {
@@ -185,9 +186,9 @@ void flexran_agent_ue_state_change(mid_t mod_id, uint32_t rnti, uint8_t state_ch
         }
         }
 
-        if(flexran_get_tdd_ack_nack_feedback(mod_id, i) != -1) {
+        if(flexran_get_tdd_ack_nack_feedback_mode(mod_id, i) != -1) {
         config->has_tdd_ack_nack_feedback = 1;
-        config->tdd_ack_nack_feedback = flexran_get_tdd_ack_nack_feedback(mod_id,i);
+        config->tdd_ack_nack_feedback = flexran_get_tdd_ack_nack_feedback_mode(mod_id,i);
         }
 
         if(flexran_get_ack_nack_repetition_factor(mod_id, i) != -1) {
diff --git a/openair2/ENB_APP/flexran_agent_common.c b/openair2/ENB_APP/flexran_agent_common.c
index 00aa7e9263575bca2d024541926ad4e74c861c49..33879714d9b1235c432c6dfae17f177f1cc9ab2f 100644
--- a/openair2/ENB_APP/flexran_agent_common.c
+++ b/openair2/ENB_APP/flexran_agent_common.c
@@ -676,9 +676,10 @@ int flexran_agent_ue_config_reply(mid_t mod_id, const void *params, Protocol__Fl
 	ue_config[i]->beta_offset_cqi_index = flexran_get_beta_offset_cqi_index(mod_id,i);
       }
       
-      if (flexran_get_ack_nack_simultaneous_trans(mod_id,i) != -1) {
+      /* assume primary carrier */
+      if (flexran_get_ack_nack_simultaneous_trans(mod_id, i, 0) != -1) {
 	ue_config[i]->has_ack_nack_simultaneous_trans = 1;
-	ue_config[i]->ack_nack_simultaneous_trans = flexran_get_ack_nack_simultaneous_trans(mod_id,i);
+	ue_config[i]->ack_nack_simultaneous_trans = flexran_get_ack_nack_simultaneous_trans(mod_id, i, 0);
       }
       
       if (flexran_get_simultaneous_ack_nack_cqi(mod_id,i) != -1) {
@@ -696,9 +697,9 @@ int flexran_agent_ue_config_reply(mid_t mod_id, const void *params, Protocol__Fl
 	}
       }
       
-      if (flexran_get_tdd_ack_nack_feedback(mod_id, i) != -1) {
+      if (flexran_get_tdd_ack_nack_feedback_mode(mod_id, i) != -1) {
 	ue_config[i]->has_tdd_ack_nack_feedback = 1;
-	ue_config[i]->tdd_ack_nack_feedback = flexran_get_tdd_ack_nack_feedback(mod_id,i);
+	ue_config[i]->tdd_ack_nack_feedback = flexran_get_tdd_ack_nack_feedback_mode(mod_id,i);
       }
       
       if(flexran_get_ack_nack_repetition_factor(mod_id, i) != -1) {