diff --git a/openair2/ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac_internal.c b/openair2/ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac_internal.c
index 6903d18a5bb7cf21513613248eceeee01500c128..30c10940c99fb8496e12b197c8a641baa7a211c2 100644
--- a/openair2/ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac_internal.c
+++ b/openair2/ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac_internal.c
@@ -1726,6 +1726,10 @@ int apply_ue_slice_assoc_update(mid_t mod_id)
   int changes = 0;
   for (i = 0; i < n_ue_slice_assoc_updates; i++) {
     int ue_id = find_UE_id(mod_id, ue_slice_assoc_update[i]->rnti);
+    if (ue_id < 0 || ue_id > MAX_MOBILES_PER_ENB){
+      LOG_E(FLEXRAN_AGENT,"UE_id %d is wrong!!\n",ue_id);
+      continue;
+    }
     if (ue_slice_assoc_update[i]->has_dl_slice_id) {
       int slice_idx = flexran_find_dl_slice(mod_id, ue_slice_assoc_update[i]->dl_slice_id);
       if (flexran_dl_slice_exists(mod_id, slice_idx)) {