diff --git a/openair1/PHY/LTE_TRANSPORT/dlsch_modulation.c b/openair1/PHY/LTE_TRANSPORT/dlsch_modulation.c
index 3c81085b0e951016431b0e932257d2b0f4677457..cbba8b39f128e2fce036f1400ec893a5e938b413 100644
--- a/openair1/PHY/LTE_TRANSPORT/dlsch_modulation.c
+++ b/openair1/PHY/LTE_TRANSPORT/dlsch_modulation.c
@@ -585,8 +585,8 @@ int allocate_REs_in_RB(PHY_VARS_eNB* phy_vars_eNB,
 
   int first_layer0; //= dlsch0_harq->first_layer;
   int Nlayers0; //  = dlsch0_harq->Nlayers;
-  uint8_t mod_order0; // = get_Qm(dlsch0_harq->mcs);
-  uint8_t mod_order1; //=2;
+  uint8_t mod_order0=0; // = get_Qm(dlsch0_harq->mcs);
+  uint8_t mod_order1=0; //=2;
   uint8_t precoder_index0,precoder_index1;
 
   uint8_t *x1=NULL;
@@ -2402,17 +2402,12 @@ int dlsch_modulation_SIC(int32_t **sic_buffer,
                          LTE_DL_FRAME_PARMS *frame_parms,
                          uint8_t num_pdcch_symbols,
                          LTE_eNB_DLSCH_t *dlsch0,
-                         LTE_eNB_DLSCH_t *dlsch1,
                          int G)
 {
 
-  uint8_t nsymb;
   uint8_t harq_pid = dlsch0->current_harq_pid;
   LTE_DL_eNB_HARQ_t *dlsch0_harq = dlsch0->harq_processes[harq_pid];
-  LTE_DL_eNB_HARQ_t *dlsch1_harq; //= dlsch1->harq_processes[harq_pid];
   uint32_t i,jj,re_allocated=0;
-  uint16_t l,rb,re_offset, amp;
-  uint32_t *rb_alloc = dlsch0_harq->rb_alloc;
   uint8_t mod_order0 = get_Qm(dlsch0_harq->mcs);
   uint8_t *x0  = dlsch0_harq->e;
   uint8_t qam64_table_offset_re = 0;
@@ -2439,8 +2434,6 @@ int dlsch_modulation_SIC(int32_t **sic_buffer,
 
     switch (mod_order0) {
     case 2:  //QPSK
-      /* TODO: handle more than 1 antenna */
-      //printf("%d(%d) : %d,%d => ",tti_offset,*jj,((int16_t*)&txdataF[0][tti_offset])[0],((int16_t*)&txdataF[0][tti_offset])[1]);
 
       ((int16_t*)&sic_buffer[0][i])[0] = (x0[jj]==1) ? (-gain_lin_QPSK) : gain_lin_QPSK; //I //b_i
 
diff --git a/openair1/PHY/LTE_TRANSPORT/proto.h b/openair1/PHY/LTE_TRANSPORT/proto.h
index 2dbe592377eac8787e18ef4f02571ee5c2af86c9..23ce81a3566cd894c5cf0dd0de2cad2e70f57e38 100644
--- a/openair1/PHY/LTE_TRANSPORT/proto.h
+++ b/openair1/PHY/LTE_TRANSPORT/proto.h
@@ -299,7 +299,6 @@ int32_t dlsch_modulation_SIC(int32_t **sic_buffer,
                          LTE_DL_FRAME_PARMS *frame_parms,
                          uint8_t num_pdcch_symbols,
                          LTE_eNB_DLSCH_t *dlsch0,
-                         LTE_eNB_DLSCH_t *dlsch1,
                          int G);
 /*
   \brief This function is the top-level routine for generation of the sub-frame signal (frequency-domain) for MCH.
diff --git a/openair1/SIMULATION/LTE_PHY/dlsim_tm4.c b/openair1/SIMULATION/LTE_PHY/dlsim_tm4.c
index b8aeae21236a59aefcd9997c9cf83a3d1717e579..0f422cfac144953c7145c65661d84744766b048b 100644
--- a/openair1/SIMULATION/LTE_PHY/dlsim_tm4.c
+++ b/openair1/SIMULATION/LTE_PHY/dlsim_tm4.c
@@ -193,7 +193,7 @@ int main(int argc, char **argv)
   unsigned int coded_bits_per_codeword[2],nsymb,dci_cnt,tbs[2];
 
   unsigned int tx_lev=0, tx_lev_dB=0, round=0, trials, errs[2][4]={{0,0,0,0},{0,0,0,0}}, round_trials[2][4]={{0,0,0,0},{0,0,0,0}}, decoded_in_sic[4]={0,0,0,0}, sic_attempt[4]={0,0,0,0}, round_sic=0;
-  unsigned int dci_errors=0, dlsch_active=0, num_layers;
+  unsigned int dci_errors=0, dlsch_active=0;
   unsigned int resend_one[4]={0,0,0,0}, resend_both[4]={0,0,0,0}, TB0_deact[4]={0,0,0,0}, TB1_deact[4]={0,0,0,0};
 
   int re_allocated;
@@ -4094,16 +4094,17 @@ int main(int argc, char **argv)
                                                     &UE->frame_parms,
                                                     num_pdcch_symbols,
                                                     &UE->dlsch_eNB[0][0],
-                                                    NULL,
                                                     coded_bits_per_codeword[0]);
 
                // write_output("sic_buffer.m","sic", *sic_buffer,re_allocated,1,1);
                // write_output("rxdataF_comp1.m","rxF_comp1", *UE->pdsch_vars[eNB_id]->rxdataF_comp1[UE->dlsch[0][0]->current_harq_pid][round],14*12*25,1,1);
                // write_output("rxdataF_rho.m","rho", *UE->pdsch_vars[eNB_id]->dl_ch_rho_ext[UE->dlsch[0][0]->current_harq_pid][round],14*12*25,1,1);
 
+
                 switch  (get_Qm(eNB->dlsch[0][1]->harq_processes[0]->mcs)){
 
 
+
                   case 2:
 
                     dlsch_qpsk_llr_SIC(&UE->frame_parms,