diff --git a/openair2/LAYER2/MAC/eNB_scheduler.c b/openair2/LAYER2/MAC/eNB_scheduler.c
index 17f1a53d508b2b0355ddc409902a006f9f570f52..8989d43f1bae0afc3e4edefc9960e6155a46a4b8 100644
--- a/openair2/LAYER2/MAC/eNB_scheduler.c
+++ b/openair2/LAYER2/MAC/eNB_scheduler.c
@@ -407,20 +407,24 @@ check_ul_failure(module_id_t module_idP, int CC_id, int UE_id,
     // check threshold
     if (UE_list->UE_sched_ctrl[UE_id].ul_failure_timer > 4000) {
       // note: probably ul_failure_timer should be less than UE radio link failure time(see T310/N310/N311)
-      // inform RRC of failure and clear timer
-      LOG_I(MAC,
-	    "UE %d rnti %x: UL Failure after repeated PDCCH orders: Triggering RRC \n",
-	    UE_id, rnti);
-      mac_eNB_rrc_ul_failure(module_idP, CC_id, frameP, subframeP,rnti);
+      if (RC.rrc[module_idP]->node_type == ngran_eNB_DU
+          || RC.rrc[module_idP]->node_type == ngran_gNB_DU) {
+        MessageDef *m = itti_alloc_new_message(TASK_MAC_ENB, F1AP_UE_CONTEXT_RELEASE_REQ);
+        F1AP_UE_CONTEXT_RELEASE_REQ(m).rnti = rnti;
+        F1AP_UE_CONTEXT_RELEASE_REQ(m).cause = F1AP_CAUSE_RADIO_NETWORK;
+        F1AP_UE_CONTEXT_RELEASE_REQ(m).cause_value = 1; // 1 = F1AP_CauseRadioNetwork_rl_failure
+        F1AP_UE_CONTEXT_RELEASE_REQ(m).rrc_container = NULL;
+        F1AP_UE_CONTEXT_RELEASE_REQ(m).rrc_container_length = 0;
+        itti_send_msg_to_task(TASK_DU_F1, module_idP, m);
+      } else {
+        // inform RRC of failure and clear timer
+        LOG_I(MAC,
+        "UE %d rnti %x: UL Failure after repeated PDCCH orders: Triggering RRC \n",
+        UE_id, rnti);
+        mac_eNB_rrc_ul_failure(module_idP, CC_id, frameP, subframeP,rnti);
+      }
       UE_list->UE_sched_ctrl[UE_id].ul_failure_timer = 0;
       UE_list->UE_sched_ctrl[UE_id].ul_out_of_sync   = 1;
-
-      //Inform the controller about the UE deactivation. Should be moved to RRC agent in the future
-      if (flexran_agent_get_rrc_xface(module_idP)) {
-        LOG_W(MAC, "notify flexran Agent of UE state change\n");
-        flexran_agent_get_rrc_xface(module_idP)->flexran_agent_notify_ue_state_change(module_idP,
-            rnti, PROTOCOL__FLEX_UE_STATE_CHANGE_TYPE__FLUESC_DEACTIVATED);
-      }
     }
   }				// ul_failure_timer>0
 }
diff --git a/openair2/RRC/LTE/L2_interface.c b/openair2/RRC/LTE/L2_interface.c
index 095cdcf8520e0318c6a1b41c7502dddf00bc8714..f008b0698cf9c4b17c84bbe57503e5ee211532e9 100644
--- a/openair2/RRC/LTE/L2_interface.c
+++ b/openair2/RRC/LTE/L2_interface.c
@@ -391,17 +391,6 @@ void mac_eNB_rrc_ul_failure(const module_id_t Mod_instP,
 								     rntiP, PROTOCOL__FLEX_UE_STATE_CHANGE_TYPE__FLUESC_DEACTIVATED);
   }
 
-  if (RC.rrc[Mod_instP]->node_type == ngran_eNB_DU
-      && RC.rrc[Mod_instP]->node_type == ngran_gNB_DU) {
-    MessageDef *m = itti_alloc_new_message(TASK_MAC_ENB, F1AP_UE_CONTEXT_RELEASE_REQ);
-    F1AP_UE_CONTEXT_RELEASE_REQ(m).rnti = rntiP;
-    F1AP_UE_CONTEXT_RELEASE_REQ(m).cause = F1AP_CAUSE_RADIO_NETWORK;
-    F1AP_UE_CONTEXT_RELEASE_REQ(m).cause_value = 1; // 1 = F1AP_CauseRadioNetwork_rl_failure
-    F1AP_UE_CONTEXT_RELEASE_REQ(m).rrc_container = NULL;
-    F1AP_UE_CONTEXT_RELEASE_REQ(m).rrc_container_length = 0;
-    itti_send_msg_to_task(TASK_DU_F1, Mod_instP, m);
-  }
-
   rrc_mac_remove_ue(Mod_instP,rntiP);
 }
 
diff --git a/openair2/RRC/LTE/rrc_eNB.c b/openair2/RRC/LTE/rrc_eNB.c
index 7333333c6b93fdaa433eaa6313ff7bf8bc5e7bcd..af091c312b02a98dc6428b44770a1892267e972e 100644
--- a/openair2/RRC/LTE/rrc_eNB.c
+++ b/openair2/RRC/LTE/rrc_eNB.c
@@ -950,14 +950,6 @@ rrc_eNB_free_UE(const module_id_t enb_mod_idP,const struct rrc_eNB_ue_context_s*
             ue_context_pP,
             S1AP_CAUSE_RADIO_NETWORK,
             21); // send cause 21: connection with ue lost
-      } else { // DU
-        MessageDef *m = itti_alloc_new_message(TASK_RRC_ENB, F1AP_UE_CONTEXT_RELEASE_REQ);
-        F1AP_UE_CONTEXT_RELEASE_REQ(m).rnti = ue_context_pP->ue_context.rnti;
-        F1AP_UE_CONTEXT_RELEASE_REQ(m).cause = F1AP_CAUSE_RADIO_NETWORK;
-        F1AP_UE_CONTEXT_RELEASE_REQ(m).cause_value = 1; // 1 = F1AP_CauseRadioNetwork_rl_failure
-        F1AP_UE_CONTEXT_RELEASE_REQ(m).rrc_container = NULL;
-        F1AP_UE_CONTEXT_RELEASE_REQ(m).rrc_container_length = 0;
-        itti_send_msg_to_task(TASK_DU_F1, enb_mod_idP, m);
       }
       /* From 3GPP 36300v10 p129 : 19.2.2.2.2 S1 UE Context Release Request (eNB triggered)
        * If the E-UTRAN internal reason is a radio link failure detected in the eNB, the eNB shall wait a sufficient time before