diff --git a/openair2/RRC/NR/nr_rrc_defs.h b/openair2/RRC/NR/nr_rrc_defs.h
index 982de8751200438a6e47a1572fb2d9dcf0af9638..5846383bdc515c3dfd7229b0199efcac63fb0ef4 100644
--- a/openair2/RRC/NR/nr_rrc_defs.h
+++ b/openair2/RRC/NR/nr_rrc_defs.h
@@ -237,7 +237,6 @@ typedef enum {
 
 typedef struct gNB_RRC_UE_s {
   drb_t                              established_drbs[MAX_DRBS_PER_UE];
-  uint8_t                            DRB_active[MAX_DRBS_PER_UE];
   NR_DRB_ToReleaseList_t            *DRB_ReleaseList;
 
   NR_SRB_INFO_TABLE_ENTRY Srb[maxSRBs]; // 3gpp max is 3 SRBs, number 1..3, we waste the entry 0 for code simplicity
diff --git a/openair2/RRC/NR/rrc_gNB.c b/openair2/RRC/NR/rrc_gNB.c
index 95bb21f1f35707fe964b70181650c7feef55253d..b5d8deee2eb28c586621fcca73abb3c36f56c5d4 100644
--- a/openair2/RRC/NR/rrc_gNB.c
+++ b/openair2/RRC/NR/rrc_gNB.c
@@ -954,27 +954,7 @@ rrc_gNB_generate_dedicatedRRCReconfiguration_release(
 */
 static void rrc_gNB_process_RRCReconfigurationComplete(const protocol_ctxt_t *const ctxt_pP, rrc_gNB_ue_context_t *ue_context_pP, const uint8_t xid)
 {
-  int                                 drb_id;
-  gNB_RRC_UE_t *ue_p = &ue_context_pP->ue_context;
-  NR_DRB_ToAddModList_t *DRB_configList = createDRBlist(ue_p, false);
-
-  /* Refresh SRBs/DRBs */
-  LOG_D(NR_RRC, "Configuring PDCP DRBs/SRBs for UE %04x\n", ue_p->rnti);
   ue_context_pP->ue_context.ue_reconfiguration_after_reestablishment_counter++;
-
-  /* Loop through DRBs and establish if necessary */
-  if (DRB_configList != NULL) {
-    for (int i = 0; i < DRB_configList->list.count; i++) {
-      if (DRB_configList->list.array[i]) {
-        drb_id = (int)DRB_configList->list.array[i]->drb_Identity;
-        if (ue_p->DRB_active[drb_id - 1] == 0) {
-          ue_p->DRB_active[drb_id - 1] = DRB_ACTIVE;
-        }
-      } // end if (DRB_configList->list.array[i])
-    } // end for (int i = 0; i < DRB_configList->list.count; i++)
-
-  } // end if DRB_configList != NULL
-  freeDRBlist(DRB_configList);
 }
 
 //-----------------------------------------------------------------------------
diff --git a/openair2/RRC/NR/rrc_gNB_radio_bearers.c b/openair2/RRC/NR/rrc_gNB_radio_bearers.c
index 77ad0163509a8457acdfdfac1c92fc088dc8f37e..efff9f2d8a9c20aaf091768692f31929074beea5 100644
--- a/openair2/RRC/NR/rrc_gNB_radio_bearers.c
+++ b/openair2/RRC/NR/rrc_gNB_radio_bearers.c
@@ -154,16 +154,15 @@ uint8_t next_available_drb(gNB_RRC_UE_t *ue, rrc_pdu_session_param_t *pdusession
   }
   /* GBR Flow  or a Non-GBR DRB does not exist in the same PDU Session, find an available DRB */
   for (drb_id = 0; drb_id < MAX_DRBS_PER_UE; drb_id++)
-    if (ue->DRB_active[drb_id] == DRB_INACTIVE)
+    if (ue->established_drbs[drb_id].status == DRB_INACTIVE)
       return drb_id + 1;
   /* From this point, we need to handle the case that all DRBs are already used by the UE. */
   LOG_E(RRC, "Error - All the DRBs are used - Handle this\n");
   return DRB_INACTIVE;
 }
 
-bool drb_is_active(gNB_RRC_UE_t *ue, uint8_t drb_id) {
+bool drb_is_active(gNB_RRC_UE_t *ue, uint8_t drb_id)
+{
   DevAssert(drb_id > 0);
-  if(ue->DRB_active[drb_id-1] == DRB_ACTIVE)
-    return true;
-  return false;
+  return ue->established_drbs[drb_id - 1].status == DRB_ACTIVE;
 }