diff --git a/openair1/SCHED/phy_procedures_lte_eNb.c b/openair1/SCHED/phy_procedures_lte_eNb.c
index a701ca8590c42bab1af234fd999c04e8bef8d769..d92b2dd8b78a76bba307f1bcb814bdda3993b53a 100644
--- a/openair1/SCHED/phy_procedures_lte_eNb.c
+++ b/openair1/SCHED/phy_procedures_lte_eNb.c
@@ -1389,10 +1389,12 @@ void pusch_procedures(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc)
               ulsch->Mlimit,
               ulsch_harq->o_ACK[0],
               ulsch_harq->o_ACK[1]);
-
-        /*if (dB_fixed_times10(eNB->pusch_vars[i]->ulsch_power[0]) > 300) {
-          dump_ulsch(eNB,frame,subframe,i); exit(-1);
-          } */
+        if (ulsch_harq->round >= 3)  {
+           ulsch_harq->status  = SCH_IDLE;
+           ulsch_harq->handled = 0;
+           ulsch->harq_mask   &= ~(1 << harq_pid);
+           ulsch_harq->round   = 0;
+        } 
 #if defined(MESSAGE_CHART_GENERATOR_PHY)
         MSC_LOG_RX_DISCARDED_MESSAGE(
                                      MSC_PHY_ENB,MSC_PHY_UE,
diff --git a/openair2/LAYER2/MAC/eNB_scheduler_ulsch.c b/openair2/LAYER2/MAC/eNB_scheduler_ulsch.c
index 132e6d5f43bce86aaf9c1c72e0cda736cdc444bc..1a54b74bb88766f314ab6b315c00481040308b05 100644
--- a/openair2/LAYER2/MAC/eNB_scheduler_ulsch.c
+++ b/openair2/LAYER2/MAC/eNB_scheduler_ulsch.c
@@ -1032,7 +1032,7 @@ abort();
           }
 	  //tpc = 1;
 	  if (tpc!=1) {
-	    LOG_I(MAC,"[eNB %d] ULSCH scheduler: frame %d, subframe %d, harq_pid %d, tpc %d, accumulated %d, normalized/target rx power %d/%d\n",
+	    LOG_D(MAC,"[eNB %d] ULSCH scheduler: frame %d, subframe %d, harq_pid %d, tpc %d, accumulated %d, normalized/target rx power %d/%d\n",
 		  module_idP,frameP,subframeP,harq_pid,tpc,
 		  tpc_accumulated,normalized_rx_power,target_rx_power);
 	  }