diff --git a/openair1/PHY/LTE_TRANSPORT/dlsch_demodulation.c b/openair1/PHY/LTE_TRANSPORT/dlsch_demodulation.c
index aa9ea86daf398bedfd71f3f68d7a3a4c01154d63..a6b3bec1e481e6fff8ba4ea3de95d3dc5089e455 100644
--- a/openair1/PHY/LTE_TRANSPORT/dlsch_demodulation.c
+++ b/openair1/PHY/LTE_TRANSPORT/dlsch_demodulation.c
@@ -990,6 +990,7 @@ int rx_pdsch(PHY_VARS_UE *phy_vars_ue,
     break;
   }
 
+  if (dlsch1_harq) {
   switch (get_Qm(dlsch1_harq->mcs)) {
   case 2 : 
     if (rx_type==rx_standard) {
@@ -1033,6 +1034,8 @@ int rx_pdsch(PHY_VARS_UE *phy_vars_ue,
     return(-1);
     break;
   } 
+  }
+
   return(0);    
 
 }
@@ -4795,4 +4798,4 @@ void print_ints(char *s,__m128i *x)
          tempb[0],tempb[1],tempb[2],tempb[3]);
 
 }*/
-#endif
\ No newline at end of file
+#endif
diff --git a/openair1/PHY/TOOLS/cmult_sv.c b/openair1/PHY/TOOLS/cmult_sv.c
index a30bbcd32156537051bd0177f0f2eeb2b3bc6b72..73d1c56309ff7271c86c3dc87bc134d567e310b4 100644
--- a/openair1/PHY/TOOLS/cmult_sv.c
+++ b/openair1/PHY/TOOLS/cmult_sv.c
@@ -392,8 +392,8 @@ int rotate_cpx_vector(int16_t *x,
     m3 = _mm_sra_epi32(m3,shift);        // shift right by shift in order to  compensate for the input amplitude
 
     y_128[0] = _mm_packs_epi32(m2,m3);        // pack in 16bit integers with saturation [re im re im re im re im]
-    print_ints("y_128[0]=", &y_128[0]);
-    #elif defined(__arm__)
+    //print_ints("y_128[0]=", &y_128[0]);
+#elif defined(__arm__)
 
   ab_re0 = vmull_s16(((int16x4_t*)xd)[0],((int16x4_t*)&bconj)[0]);
   ab_re1 = vmull_s16(((int16x4_t*)xd)[1],((int16x4_t*)&bconj)[1]);
diff --git a/openair2/LAYER2/MAC/eNB_scheduler_dlsch.c b/openair2/LAYER2/MAC/eNB_scheduler_dlsch.c
index 2a52d8779a3cdac8f7cce3af4ec258d21f306120..3312f0f371effc616c345dcc5bb4c812a772ab96 100644
--- a/openair2/LAYER2/MAC/eNB_scheduler_dlsch.c
+++ b/openair2/LAYER2/MAC/eNB_scheduler_dlsch.c
@@ -737,7 +737,8 @@ schedule_ue_spec(
             }
 
             break;
-
+	    /* 
+	    // this code is disabled for now - needs to be done properly
           case 4:
             //    if (nb_rb>10) {
             ((DCI2_5MHz_2A_TDD_t*)DLSCH_dci)->ndi1 = 0;
@@ -775,6 +776,7 @@ schedule_ue_spec(
             ((DCI1E_5MHz_2A_M10PRB_TDD_t*)DLSCH_dci)->dai = (UE_list->UE_template[CC_id][UE_id].DAI-1)&3;
             ((DCI1E_5MHz_2A_M10PRB_TDD_t*)DLSCH_dci)->dl_power_off = 1;//dl_pow_off[UE_id];
             break;
+	    */
           }
 
           add_ue_dlsch_info(module_idP,
@@ -1402,8 +1404,9 @@ schedule_ue_spec(
 
             break;
 
+	    /*
+	    // disabled for now as this needs to be done properly
           case 4:
-            //  if (nb_rb>10) {
             ((DCI2_5MHz_2A_TDD_t*)DLSCH_dci)->mcs1 = mcs;
             ((DCI2_5MHz_2A_TDD_t*)DLSCH_dci)->harq_pid = harq_pid;
             ((DCI2_5MHz_2A_TDD_t*)DLSCH_dci)->ndi1 = 1;
@@ -1411,15 +1414,6 @@ schedule_ue_spec(
             ((DCI2_5MHz_2A_TDD_t*)DLSCH_dci)->dai = (UE_list->UE_template[CC_id][UE_id].DAI-1)&3;
 	    ((DCI2_5MHz_2A_TDD_t*)DLSCH_dci)->TPC = tpc;
 
-            //}
-            /* else {
-               ((DCI2_5MHz_2A_L10PRB_TDD_t*)DLSCH_dci)->mcs1 = eNB_UE_stats->DL_cqi[0];
-               ((DCI2_5MHz_2A_L10PRB_TDD_t*)DLSCH_dci)->harq_pid = harq_pid;
-               ((DCI2_5MHz_2A_L10PRB_TDD_t*)DLSCH_dci)->ndi1 = 1;
-               ((DCI2_5MHz_2A_L10PRB_TDD_t*)DLSCH_dci)->rv1 = round&3;
-               ((DCI2_5MHz_2A_L10PRB_TDD_t*)DLSCH_dci)->tpmi = 5;
-               ((DCI2_5MHz_2A_L10PRB_TDD_t*)DLSCH_dci)->dai = (UE_list->UE_template[CC_id][UE_id].DAI-1)&3;
-               }*/
             break;
 
           case 5:
@@ -1450,6 +1444,7 @@ schedule_ue_spec(
 	    ((DCI1E_5MHz_2A_M10PRB_TDD_t*)DLSCH_dci)->TPC = tpc;
 
             break;
+	    */
           }
 
           // Toggle NDI for next time
@@ -1729,9 +1724,9 @@ fill_DLSCH_dci(
 
           break;
 
+	  /*
         case 4:
 
-          //if (nb_rb>10) {
           // DCI format 2_2A
           ((DCI2_5MHz_2A_TDD_t*)DLSCH_dci)->rballoc = allocate_prbs_sub(nb_rb,rballoc_sub);
           ((DCI2_5MHz_2A_TDD_t*)DLSCH_dci)->rah = 0;
@@ -1743,17 +1738,6 @@ fill_DLSCH_dci(
                           sizeof_DCI2_5MHz_2A_TDD_t,
                           format2,
                           0);
-          /*}
-            else {
-            ((DCI2_5MHz_2A_L10PRB_TDD_t*)DLSCH_dci)->rballoc = allocate_prbs_sub(nb_rb,rballoc_sub);
-            add_ue_spec_dci(DCI_pdu,
-            DLSCH_dci,
-            rnti,
-            sizeof(DCI2_5MHz_2A_L10PRB_TDD_t),
-            2,//aggregation,
-            sizeof_DCI2_5MHz_2A_L10PRB_TDD_t,
-            format2_2A_L10PRB);
-            }*/
           break;
 
         case 5:
@@ -1783,6 +1767,7 @@ fill_DLSCH_dci(
                           format1E_2A_M10PRB,
                           0);
           break;
+	  */
 
         }
       }
diff --git a/openair2/RRC/LITE/MESSAGES/asn1_msg.c b/openair2/RRC/LITE/MESSAGES/asn1_msg.c
index ff0adf713b04e4dd8edeb4cd878b51bba89f4b75..83fd5d357de59aeb1dea603ffc2f88052362b5ff 100644
--- a/openair2/RRC/LITE/MESSAGES/asn1_msg.c
+++ b/openair2/RRC/LITE/MESSAGES/asn1_msg.c
@@ -107,7 +107,7 @@ int errno;
 # endif
 #endif
 
-//#define XER_PRINT
+#define XER_PRINT
 
 extern Enb_properties_array_t enb_properties;
 typedef struct xer_sprint_string_s {
diff --git a/openair2/RRC/LITE/rrc_eNB.c b/openair2/RRC/LITE/rrc_eNB.c
index 1d0b5f290256d4fd3a095cd93271b702c2c8e817..94b0d46eefea3f088311e22ac6cdd405dbc1f080 100644
--- a/openair2/RRC/LITE/rrc_eNB.c
+++ b/openair2/RRC/LITE/rrc_eNB.c
@@ -3277,7 +3277,7 @@ rrc_eNB_generate_RRCConnectionSetup(
     do_RRCConnectionSetup(ctxt_pP,
                           ue_context_pP,
                           (uint8_t*) eNB_rrc_inst[ctxt_pP->module_id].carrier[CC_id].Srb0.Tx_buffer.Payload,
-                          (mac_xface->lte_frame_parms->nb_antennas_tx==2)?2:1,
+			  mac_xface->get_transmission_mode(ctxt_pP->module_id,CC_id,ue_context_pP->ue_id_rnti),
                           rrc_eNB_get_next_transaction_identifier(ctxt_pP->module_id),
                           mac_xface->lte_frame_parms,
                           SRB_configList,
diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.exmimo2.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.exmimo2.conf
index bc9d15195cf6eb263b68e253dde77177517fabdd..6493c011678b6b98d3aab6282e8ce46d7faa1870 100644
--- a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.exmimo2.conf
+++ b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.exmimo2.conf
@@ -47,7 +47,7 @@ eNBs =
                            pucch_nCS_AN            			      = 0;
                            pucch_n1_AN             			      = 32;
                            pdsch_referenceSignalPower 			      = -24;
-                           pdsch_p_b                  			      = 0;
+                           pdsch_p_b                  			      = 1;
                            pusch_n_SB                 			      = 1; 
                            pusch_enable64QAM          			      = "DISABLE";
 			   pusch_hoppingMode                                  = "interSubFrame";
diff --git a/targets/SIMU/USER/oaisim_functions.c b/targets/SIMU/USER/oaisim_functions.c
index 014a9e39d02aa2d3192095c00ae1efd80a9cd1a7..721b743389b7a79214fb3e8fe2dd974d72dcbd83 100644
--- a/targets/SIMU/USER/oaisim_functions.c
+++ b/targets/SIMU/USER/oaisim_functions.c
@@ -684,8 +684,9 @@ void get_simulation_options(int argc, char *argv[])
     case 'x':
       oai_emulation.info.transmission_mode[0] = atoi (optarg);
 
-      if ((oai_emulation.info.transmission_mode[0] != 1) &&  (oai_emulation.info.transmission_mode[0] != 2) && (oai_emulation.info.transmission_mode[0] != 3)
-          && (oai_emulation.info.transmission_mode[0] != 5) && (oai_emulation.info.transmission_mode[0] != 6)) {
+      if ((oai_emulation.info.transmission_mode[0] != 1) && (oai_emulation.info.transmission_mode[0] != 2) && 
+	  (oai_emulation.info.transmission_mode[0] != 3) && (oai_emulation.info.transmission_mode[0] != 4) &&
+          (oai_emulation.info.transmission_mode[0] != 5) && (oai_emulation.info.transmission_mode[0] != 6)) {
         printf("Unsupported transmission mode %d\n",oai_emulation.info.transmission_mode[0]);
         exit(-1);
       }