diff --git a/executables/nr-softmodem.c b/executables/nr-softmodem.c
index 11dc9e7625907d087e0f115f55506458d5162f30..162f4beec957262955d7f45e23c3a24ca3ff2ed3 100644
--- a/executables/nr-softmodem.c
+++ b/executables/nr-softmodem.c
@@ -739,8 +739,8 @@ uint32_t num_act_rb(NR_UEs_t* UE_info)
     for(int rb_id = 1; rb_id < 6; ++rb_id ){
       nr_rlc_statistics_t rlc = {0};
       const int srb_flag = 0;
-      const int rc = nr_rlc_get_statistics(rnti, srb_flag, rb_id, &rlc);
-      if(rc == 1) ++act_rb;
+      const bool rc = nr_rlc_get_statistics(rnti, srb_flag, rb_id, &rlc);
+      if(rc) ++act_rb;
     }
   }
   return act_rb;
@@ -771,15 +771,20 @@ void read_rlc_sm(rlc_ind_msg_t* data)
     uint16_t const rnti = UE->rnti;
     //for every LC ID
     for(int rb_id = 1; rb_id < 6; ++rb_id ){
+
+      // activate the rlc to calculate the average tx time
+      nr_rlc_activate_avg_time_to_tx(rnti, rb_id, 1);
+
       nr_rlc_statistics_t rb_rlc = {0};
       const int srb_flag = 0;
-      const int rc = nr_rlc_get_statistics(rnti, srb_flag, rb_id, &rb_rlc);
-      if(rc == 0) continue;
+      const bool rc = nr_rlc_get_statistics(rnti, srb_flag, rb_id, &rb_rlc);
+      if(!rc) continue;
       rlc_radio_bearer_stats_t* sm_rb = &data->rb[i];
 
+      /* TX */
       sm_rb->txpdu_pkts = rb_rlc.txpdu_pkts;
       sm_rb->txpdu_bytes =  rb_rlc.txpdu_bytes;        /* aggregated amount of transmitted bytes in RLC PDUs */
-      sm_rb->txpdu_wt_ms =  rb_rlc.txpdu_wt_ms;      /* aggregated head-of-line tx packet waiting time to be transmitted (i.e. send to the MAC layer) */
+      sm_rb->txpdu_wt_ms += rb_rlc.txsdu_avg_time_to_tx;      /* aggregated head-of-line tx packet waiting time to be transmitted (i.e. send to the MAC layer) */
       sm_rb->txpdu_dd_pkts = rb_rlc.txpdu_dd_pkts;      /* aggregated number of dropped or discarded tx packets by RLC */
       sm_rb->txpdu_dd_bytes = rb_rlc.txpdu_dd_bytes;     /* aggregated amount of bytes dropped or discarded tx packets by RLC */
       sm_rb->txpdu_retx_pkts = rb_rlc.txpdu_retx_pkts;    /* aggregated number of tx pdus/pkts to be re-transmitted (only applicable to RLC AM) */
@@ -853,9 +858,9 @@ void read_pdcp_sm(pdcp_ind_msg_t* data)
       nr_pdcp_statistics_t pdcp = {0};
 
       const int srb_flag = 0;
-      const int rc = nr_pdcp_get_statistics(rnti, srb_flag, rb_id, &pdcp);
+      const bool rc = nr_pdcp_get_statistics(rnti, srb_flag, rb_id, &pdcp);
 
-      if(rc == 0) continue;
+      if(!rc) continue;
 
       pdcp_radio_bearer_stats_t* rd = &data->rb[i];
 
diff --git a/openair2/LAYER2/nr_rlc/nr_rlc_oai_api.c b/openair2/LAYER2/nr_rlc/nr_rlc_oai_api.c
index b809e4caba11186e3acd4b5abfd8c45ad8d257f0..030fbe7c9738a92dd6e7c8960ae682332c4bc05d 100644
--- a/openair2/LAYER2/nr_rlc/nr_rlc_oai_api.c
+++ b/openair2/LAYER2/nr_rlc/nr_rlc_oai_api.c
@@ -1132,7 +1132,7 @@ void nr_rlc_activate_avg_time_to_tx(
     rb->avg_time_is_on = is_on;
     time_average_reset(rb->txsdu_avg_time_to_tx);
   } else {
-    LOG_E(RLC, "[%s] Radio Bearer (channel ID %d) is NULL for UE with rnti %x\n", __FUNCTION__, channel_id, rnti);
+    LOG_D(RLC, "[%s] Radio Bearer (channel ID %d) is NULL for UE with rnti %x\n", __FUNCTION__, channel_id, rnti);
   }
 
   nr_rlc_manager_unlock(nr_rlc_ue_manager);