diff --git a/openair1/SCHED_NR/phy_frame_config_nr.c b/openair1/SCHED_NR/phy_frame_config_nr.c
index a60fee11ffe1d2feb096b98cd62e7d5a52860cd1..738030c9031e1ca2cba53db34f6297ee1974c4e9 100644
--- a/openair1/SCHED_NR/phy_frame_config_nr.c
+++ b/openair1/SCHED_NR/phy_frame_config_nr.c
@@ -52,14 +52,41 @@
 *********************************************************************/
 
 int set_tdd_config_nr( nfapi_nr_config_request_scf_t *cfg,
-	               int mu,	int dl_UL_TransmissionPeriodicity,
+	               int mu,
                        int nrofDownlinkSlots, int nrofDownlinkSymbols,
                        int nrofUplinkSlots,   int nrofUplinkSymbols)
 {
-  int slot_number = 0;
+  int slot_number = 0,nb_periods_per_frame;
   int nb_slots_to_set = TDD_CONFIG_NB_FRAMES*(1<<mu)*LTE_NUMBER_OF_SUBFRAMES_PER_FRAME;
-
-  int nb_periods_per_frame = (FRAME_DURATION_MICRO_SEC/dl_UL_TransmissionPeriodicity);
+  
+  switch(cfg->tdd_table.tdd_period.value) {
+      case 0:
+	nb_periods_per_frame = 20; // 10ms/0p5ms
+	break;
+      case 1:
+	nb_periods_per_frame = 16; // 10ms/0p625ms
+        break;
+      case 2:
+	nb_periods_per_frame = 10; // 10ms/1ms
+        break;
+      case 3:
+        nb_periods_per_frame = 8; // 10ms/1p25ms
+        break;
+      case 4:
+        nb_periods_per_frame = 5; // 10ms/2ms
+        break;
+      case 5:
+        nb_periods_per_frame = 4; // 10ms/2p5ms
+        break;
+      case 6:
+        nb_periods_per_frame = 2; // 10ms/5ms
+        break;
+      case 7:
+        nb_periods_per_frame = 1; // 10ms/10ms
+        break;
+	default:
+        AssertFatal(1==0,"Undefined tdd period %d\n", cfg->tdd_table.tdd_period.value);
+  }
 
   int nb_slots_per_period = ((1<<mu) * LTE_NUMBER_OF_SUBFRAMES_PER_FRAME)/nb_periods_per_frame;
   AssertFatal(nb_slots_per_period == (nrofDownlinkSlots + nrofUplinkSlots + 1),
diff --git a/openair1/SCHED_NR/phy_frame_config_nr.h b/openair1/SCHED_NR/phy_frame_config_nr.h
index ec888bdd35bbf407b0492b6bf943ac4de43cb4b1..d1ec5c80d8ba20103340c5b4f92b6409685936e2 100644
--- a/openair1/SCHED_NR/phy_frame_config_nr.h
+++ b/openair1/SCHED_NR/phy_frame_config_nr.h
@@ -47,7 +47,7 @@
  *  @param nrofUplinkSymbols number of uplink symbols
     @returns 0 if tdd dedicated configuration has been properly set or -1 on error with message */
 
-int set_tdd_config_nr(nfapi_nr_config_request_scf_t *cfg, int mu,int dl_UL_TransmissionPeriodicity,
+int set_tdd_config_nr(nfapi_nr_config_request_scf_t *cfg, int mu,
                        int nrofDownlinkSlots, int nrofDownlinkSymbols,
                        int nrofUplinkSlots,   int nrofUplinkSymbols);
 
diff --git a/openair1/SCHED_NR_UE/phy_frame_config_nr.h b/openair1/SCHED_NR_UE/phy_frame_config_nr.h
index 3ab6b862de9b8ba67df459afccea75c082381ced..309b695585c1d48d5b7aae7add072041ef5dcecb 100644
--- a/openair1/SCHED_NR_UE/phy_frame_config_nr.h
+++ b/openair1/SCHED_NR_UE/phy_frame_config_nr.h
@@ -45,7 +45,7 @@
  *  @param nrofUplinkSymbols number of uplink symbols
     @returns 0 if tdd dedicated configuration has been properly set or -1 on error with message */
 
-int set_tdd_config_nr(nfapi_nr_config_request_scf_t *cfg, int mu, int dl_UL_TransmissionPeriodicity,
+int set_tdd_config_nr(nfapi_nr_config_request_scf_t *cfg, int mu,
                        int nrofDownlinkSlots, int nrofDownlinkSymbols,
                        int nrofUplinkSlots,   int nrofUplinkSymbols);
 
diff --git a/openair2/LAYER2/NR_MAC_gNB/config.c b/openair2/LAYER2/NR_MAC_gNB/config.c
index 3a5a7911e1212a18ef33c54658ea2f213bfcaa4e..271e6e14c64ed7c9a4dc34fb89262f633899d4eb 100644
--- a/openair2/LAYER2/NR_MAC_gNB/config.c
+++ b/openair2/LAYER2/NR_MAC_gNB/config.c
@@ -409,7 +409,6 @@ void config_common(int Mod_idP, NR_ServingCellConfigCommon_t *scc) {
   if(cfg->cell_config.frame_duplex_type.value == TDD){
   int return_tdd = set_tdd_config_nr(cfg,
 		    scc->uplinkConfigCommon->frequencyInfoUL->scs_SpecificCarrierList.list.array[0]->subcarrierSpacing,
-                    5000,
                     scc->tdd_UL_DL_ConfigurationCommon->pattern1.nrofDownlinkSlots,
                     scc->tdd_UL_DL_ConfigurationCommon->pattern1.nrofDownlinkSymbols,
                     scc->tdd_UL_DL_ConfigurationCommon->pattern1.nrofUplinkSlots,
diff --git a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/gnb.band78.tm1.217PRB.usrpn300.conf b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/gnb.band78.tm1.217PRB.usrpn300.conf
index 591d61404385d73b4a034f0d67825e31aa56ab98..0058f53e2c3c620f14d0882ff06e91d8c55b5edc 100644
--- a/targets/PROJECTS/GENERIC-LTE-EPC/CONF/gnb.band78.tm1.217PRB.usrpn300.conf
+++ b/targets/PROJECTS/GENERIC-LTE-EPC/CONF/gnb.band78.tm1.217PRB.usrpn300.conf
@@ -169,7 +169,7 @@ gNBs =
       # pattern1 
       # dl_UL_TransmissionPeriodicity
       # 0=ms0p5, 1=ms0p625, 2=ms1, 3=ms1p25, 4=ms2, 5=ms2p5, 6=ms5, 7=ms10
-      dl_UL_TransmissionPeriodicity                                 = 0;
+      dl_UL_TransmissionPeriodicity                                 = 6;
       nrofDownlinkSlots                                             = 7;
       nrofDownlinkSymbols                                           = 6;
       nrofUplinkSlots                                               = 2;