diff --git a/openair2/LAYER2/MAC/eNB_scheduler_ulsch.c b/openair2/LAYER2/MAC/eNB_scheduler_ulsch.c
index 0f7572a8633c448f313540f830bce74eb4890df5..887feb1ff557486e8dfa1e53acdff6cf9c8658d6 100644
--- a/openair2/LAYER2/MAC/eNB_scheduler_ulsch.c
+++ b/openair2/LAYER2/MAC/eNB_scheduler_ulsch.c
@@ -231,6 +231,11 @@ rx_sdu(const module_id_t enb_mod_idP,
     payload_ptr =
 	parse_ulsch_header(sduP, &num_ce, &num_sdu, rx_ces, rx_lcids,
 			   rx_lengths, sdu_lenP);
+    if(payload_ptr == NULL){
+      LOG_E(MAC,"[eNB %d][PUSCH %d] CC_id %d ulsch header unknown lcid(rnti %x, UE_id %d)\n",
+                 enb_mod_idP, harq_pid, CC_idP,current_rnti, UE_id);
+      return;
+    }
 
     T(T_ENB_MAC_UE_UL_PDU, T_INT(enb_mod_idP), T_INT(CC_idP),
       T_INT(current_rnti), T_INT(frameP), T_INT(subframeP),
@@ -944,7 +949,8 @@ unsigned char *parse_ulsch_header(unsigned char *mac_header,
 		    ce_len++;
 		} else {
 		    LOG_E(MAC, "unknown CE %d \n", lcid);
-		    AssertFatal(1 == 0, "unknown CE");
+		    //AssertFatal(1 == 0, "unknown CE");
+                    return NULL;
 		}
 	    }
 	}