diff --git a/openair2/LAYER2/MAC/eNB_scheduler_ulsch.c b/openair2/LAYER2/MAC/eNB_scheduler_ulsch.c
index 4f1f431508f90a6fb67020624a11f41bf06423e0..37a3a328f72562c098d85ad1307d0d97a77c49b7 100644
--- a/openair2/LAYER2/MAC/eNB_scheduler_ulsch.c
+++ b/openair2/LAYER2/MAC/eNB_scheduler_ulsch.c
@@ -460,7 +460,7 @@ rx_sdu(const module_id_t enb_mod_idP,
 
             if (RA_id != -1) {
               RA_t *ra = &(mac->common_channels[CC_idP].ra[RA_id]);
-              mac_rrc_data_ind(enb_mod_idP,
+              int8_t ret = mac_rrc_data_ind(enb_mod_idP,
                                CC_idP,
                                frameP, subframeP,
                                UE_id,
@@ -474,6 +474,7 @@ rx_sdu(const module_id_t enb_mod_idP,
 #endif
                               );
               /* Received a new rnti */
+              if(ret == 0){
               ra->state = MSGCRNTI;
               LOG_I(MAC, "[eNB %d] Frame %d, Subframe %d CC_id %d : (rnti %x UE_id %d) Received rnti(Msg4)\n",
                     enb_mod_idP,
@@ -502,6 +503,9 @@ rx_sdu(const module_id_t enb_mod_idP,
               }
               UE_template_ptr->ul_SR = 1;
               UE_scheduling_control->crnti_reconfigurationcomplete_flag = 1;
+              }else{
+                 cancel_ra_proc(enb_mod_idP, CC_idP, frameP, current_rnti);
+              }
               // break;
             }
           }
diff --git a/openair2/RRC/LTE/L2_interface.c b/openair2/RRC/LTE/L2_interface.c
index 7bfeb43b53d333249b812a88f6ea4801423a34e2..a39e072b747403409c123d4e35b8443c40bff0a0 100644
--- a/openair2/RRC/LTE/L2_interface.c
+++ b/openair2/RRC/LTE/L2_interface.c
@@ -289,10 +289,15 @@ mac_rrc_data_ind(
     ue_context_p = rrc_eNB_get_ue_context(RC.rrc[ctxt.module_id],rntiP);
 
     if(ue_context_p) {
+      if( ue_context_p->ue_context.Status != RRC_RECONFIGURED){
+        LOG_E(RRC,"[eNB %d] Received C-RNTI ,but UE %x status(%d) not RRC_RECONFIGURED\n",module_idP,rntiP,ue_context_p->ue_context.Status);
+        return(-1);
+      }else{
       rrc_eNB_generate_defaultRRCConnectionReconfiguration(&ctxt,
           ue_context_p,
           0);
       ue_context_p->ue_context.Status = RRC_RECONFIGURED;
+      }
     }
   }