diff --git a/openair2/LAYER2/MAC/main.c b/openair2/LAYER2/MAC/main.c
index b0851f39f3b620238503317d63abf8e82b1827fc..d8304370c1078e45539a0a55add39de7c7195a70 100644
--- a/openair2/LAYER2/MAC/main.c
+++ b/openair2/LAYER2/MAC/main.c
@@ -75,11 +75,14 @@ void dl_phy_sync_success(module_id_t   module_idP,
     unsigned char eNB_index,
     uint8_t            first_sync){  //init as MR
   LOG_D(MAC,"[UE %d] Frame %d: PHY Sync to eNB_index %d successful \n", module_idP, frameP, eNB_index);
+#if ! defined(ENABLE_USE_MME)
   if (first_sync==1) {
       layer2_init_UE(module_idP);
       openair_rrc_ue_init(module_idP,eNB_index);
   }
-  else {
+  else
+#endif
+  {
       mac_in_sync_ind(module_idP,frameP,eNB_index);
   }
 
diff --git a/openair2/RRC/LITE/rrc_UE.c b/openair2/RRC/LITE/rrc_UE.c
index 4061efe8b0edb175c214429727835909b7c0c3b8..64e8928301980947eb55a49d30d771a612c6f603 100644
--- a/openair2/RRC/LITE/rrc_UE.c
+++ b/openair2/RRC/LITE/rrc_UE.c
@@ -2886,6 +2886,11 @@ void *rrc_ue_task(void *args_p) {
         LOG_I(RRC, "[UE %d] Received %s: state %d, plmnID %d, rat %x\n", ue_mod_id, msg_name, rrc_get_state(ue_mod_id),
             NAS_CELL_SELECTION_REQ (msg_p).plmnID, NAS_CELL_SELECTION_REQ (msg_p).rat);
 
+        if (rrc_get_state(ue_mod_id) == RRC_STATE_INACTIVE) {
+            // have a look at MAC/main.c void dl_phy_sync_success(...)
+            openair_rrc_ue_init(ue_mod_id,0);
+        }
+
         /* Save cell selection criterion */
         {
           UE_rrc_inst[ue_mod_id].plmnID = NAS_CELL_SELECTION_REQ (msg_p).plmnID;