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