diff --git a/openair2/LAYER2/MAC/defs.h b/openair2/LAYER2/MAC/defs.h
index aab00d610bd9047507446a3acdde92c05ce9d6fb..b0d7dffa209fea9f4393d80b12fb7807db2abcf2 100644
--- a/openair2/LAYER2/MAC/defs.h
+++ b/openair2/LAYER2/MAC/defs.h
@@ -1051,6 +1051,8 @@ typedef struct eNB_MAC_INST_s {
   COMMON_channels_t common_channels[MAX_NUM_CCs];
   /// current PDU index (BCH,MCH,DLSCH)
   uint16_t pdu_index[MAX_NUM_CCs];
+  /// flag to enable phy-test (disables the scheduler)
+  uint16_t phy_test;
 
   /// NFAPI Config Request Structure
   nfapi_config_request_t config[MAX_NUM_CCs];
diff --git a/openair2/LAYER2/MAC/eNB_scheduler.c b/openair2/LAYER2/MAC/eNB_scheduler.c
index 50592921ddd4e292a141bf027f665a647186f472..ca802f42016d18f7cb827be95e3c49931a19e352 100644
--- a/openair2/LAYER2/MAC/eNB_scheduler.c
+++ b/openair2/LAYER2/MAC/eNB_scheduler.c
@@ -517,29 +517,30 @@ void eNB_dlsch_ulsch_scheduler(module_id_t module_idP, frame_t frameP, sub_frame
 
 #endif
 
-  // This schedules MIB
-  if ((subframeP==0) && (frameP&3) == 0) schedule_mib(module_idP,frameP,subframeP);
-  /*
-  // This schedules SI for legacy LTE and eMTC starting in subframeP
-  schedule_SI(module_idP,frameP,subframeP);
-  // This schedules Random-Access for legacy LTE and eMTC starting in subframeP
-  schedule_RA(module_idP,frameP,subframeP);
-  // copy previously scheduled UL resources (ULSCH + HARQ)
-  copy_ulreq(module_idP,frameP,subframeP);
-  // This schedules SRS in subframeP
-  schedule_SRS(module_idP,frameP,subframeP);
-  // This schedules ULSCH in subframeP (dci0)
-  schedule_ulsch(module_idP,frameP,subframeP);
-  // This schedules UCI_SR in subframeP
-  schedule_SR(module_idP,frameP,subframeP);
-  // This schedules UCI_CSI in subframeP
-  schedule_CSI(module_idP, frameP, subframeP);
-  */
-
-  // This schedules DLSCH in subframeP
-  //schedule_ue_spec(module_idP,frameP,subframeP,mbsfn_status);
-
-  schedule_ue_spec_phy_test(module_idP,frameP,subframeP,mbsfn_status);
+  if (RC.mac[module_idP]->phy_test==0) {
+    // This schedules MIB
+    if ((subframeP==0) && (frameP&3) == 0) schedule_mib(module_idP,frameP,subframeP);
+    // This schedules SI for legacy LTE and eMTC starting in subframeP
+    schedule_SI(module_idP,frameP,subframeP);
+    // This schedules Random-Access for legacy LTE and eMTC starting in subframeP
+    schedule_RA(module_idP,frameP,subframeP);
+    // copy previously scheduled UL resources (ULSCH + HARQ)
+    copy_ulreq(module_idP,frameP,subframeP);
+    // This schedules SRS in subframeP
+    schedule_SRS(module_idP,frameP,subframeP);
+    // This schedules ULSCH in subframeP (dci0)
+    schedule_ulsch(module_idP,frameP,subframeP);
+    // This schedules UCI_SR in subframeP
+    schedule_SR(module_idP,frameP,subframeP);
+    // This schedules UCI_CSI in subframeP
+    schedule_CSI(module_idP, frameP, subframeP);
+    
+    // This schedules DLSCH in subframeP
+    schedule_ue_spec(module_idP,frameP,subframeP,mbsfn_status);
+  }
+  else {
+    schedule_ue_spec_phy_test(module_idP,frameP,subframeP,mbsfn_status);
+  }
 
   // Allocate CCEs for good after scheduling is done