diff --git a/openair1/SCHED/phy_procedures_lte_eNb.c b/openair1/SCHED/phy_procedures_lte_eNb.c
index b8c75bd245095f290d0f8287a3eec34c4d3b446e..39a67e925249b8aa37177170971a825e8812ad56 100755
--- a/openair1/SCHED/phy_procedures_lte_eNb.c
+++ b/openair1/SCHED/phy_procedures_lte_eNb.c
@@ -3124,11 +3124,33 @@ void prach_procedures(PHY_VARS_eNB *phy_vars_eNB,uint8_t sched_subframe,uint8_t
             preamble_energy_max%10,
             preamble_delay_list[preamble_max]);
 #ifdef OPENAIR2
+        uint8_t update_TA=4;
+
+        switch (phy_vars_eNB->lte_frame_parms.N_RB_DL) {
+        case 6:
+          update_TA = 16;
+          break;
+
+        case 25:
+          update_TA = 4;
+          break;
+
+        case 50:
+          update_TA = 2;
+          break;
+
+        case 100:
+          update_TA = 1;
+          break;
+        }
+
+
+
       mac_xface->initiate_ra_proc(phy_vars_eNB->Mod_id,
                                   phy_vars_eNB->CC_id,
                                   frame,
                                   preamble_max,
-                                  preamble_delay_list[preamble_max],
+                                  preamble_delay_list[preamble_max]*update_TA,
 				  0,subframe,0);
       
 #endif