diff --git a/openair1/PHY/LTE_TRANSPORT/ulsch_decoding.c b/openair1/PHY/LTE_TRANSPORT/ulsch_decoding.c
index bd2ec6e023e83846812921ee50f2bfdf47e88be4..4fe5ef473f0245be5f5b516752a45957ab9863e8 100644
--- a/openair1/PHY/LTE_TRANSPORT/ulsch_decoding.c
+++ b/openair1/PHY/LTE_TRANSPORT/ulsch_decoding.c
@@ -298,10 +298,14 @@ unsigned int  ulsch_decoding(PHY_VARS_eNB *phy_vars_eNB,
   ulsch_harq = ulsch->harq_processes[harq_pid];
 
   if (harq_pid==255) {
-    LOG_E(PHY, "ulsch_decoding.c: FATAL ERROR: illegal harq_pid, returning\n");
+    LOG_E(PHY, "FATAL ERROR: illegal harq_pid, returning\n");
     return(-1);
   }
 
+  if (ulsch_harq->Nsymb_pusch == 0) {
+      LOG_E(PHY, "FATAL ERROR: harq_pid %d, Nsymb 0!\n",harq_pid);
+      return(-1);
+  }
   if (llr8_flag == 0)
     tc = phy_threegpplte_turbo_decoder16;
   else