diff --git a/src/osmo_gsm_tester/obj/ms_srs.py b/src/osmo_gsm_tester/obj/ms_srs.py
index 54dc5de..ec4486f 100644
--- a/src/osmo_gsm_tester/obj/ms_srs.py
+++ b/src/osmo_gsm_tester/obj/ms_srs.py
@@ -36,6 +36,7 @@
         'rf_dev_args': schema.STR,
         'rf_dev_sync': schema.STR,
         'num_carriers': schema.UINT,
+        'num_nr_carriers': schema.UINT,
         'additional_args[]': schema.STR,
         'airplane_t_on_ms': schema.INT,
         'airplane_t_off_ms': schema.INT,
@@ -54,7 +55,11 @@
         'enable_pcap': schema.BOOL_STR,
         'log_all_level': schema.STR,
         'log_nas_level': schema.STR,
-        'nr_short_sn_support': schema.BOOL_STR
+        'nr_short_sn_support': schema.BOOL_STR,
+        'rrc_release': schema.INT,
+        'ue_category': schema.INT,
+        'ue_category_dl': schema.INT,
+        'ue_category_ul': schema.INT,
         }
     schema.register_config_schema('modem', config_schema)
 
@@ -101,6 +106,7 @@
         self.remote_metrics_file = None
         self.enable_pcap = False
         self.num_carriers = 1
+        self.num_nr_carriers = 0
         self._additional_args = []
         if not rf_type_valid(conf.get('rf_dev_type', None)):
             raise log.Error('Invalid rf_dev_type=%s' % conf.get('rf_dev_type', None))
@@ -270,6 +276,7 @@
             self._additional_args += add_args.split()
 
         self.num_carriers = int(values['ue'].get('num_carriers', 1))
+        self.num_nr_carriers = int(values['ue'].get('num_nr_carriers', 0))
 
         # Simply pass-through the sync options
         config.overlay(values, dict(ue={'rf_dev_sync': values['ue'].get('rf_dev_sync', None)}))
@@ -283,7 +290,7 @@
 
             if self.num_carriers == 1:
                 # Single carrier
-                if self.enb.num_ports() == 1:
+                if self.enb.num_ports() == 1 and self.num_nr_carriers == 0:
                     # SISO
                     rf_dev_args += ',rx_freq0=2630e6,tx_freq0=2510e6'
                 elif self.enb.num_ports() == 2:
diff --git a/src/osmo_gsm_tester/templates/srsue.conf.tmpl b/src/osmo_gsm_tester/templates/srsue.conf.tmpl
index 8d206fa..412dbda 100644
--- a/src/osmo_gsm_tester/templates/srsue.conf.tmpl
+++ b/src/osmo_gsm_tester/templates/srsue.conf.tmpl
@@ -22,22 +22,30 @@
 device_args = ${ue.rf_dev_args},${ue.rf_dev_sync}
 
 [rat.eutra]
-% if int(ue.num_carriers) == 4:
-dl_earfcn = 2850,3050,3250,3350
-% elif int(ue.num_carriers) == 2:
-dl_earfcn = 2850,3050
+
+% if ue.get('dl_earfcn', None) != None:
+dl_earfcn = ${ue.dl_earfcn}
+
 % else:
-dl_earfcn = 2850
+  % if int(ue.num_carriers) == 4:
+  dl_earfcn = 2850,3050,3250,3350
+  % elif int(ue.num_carriers) == 2:
+  dl_earfcn = 2850,3050
+  % else:
+  dl_earfcn = 2850
+  % endif
 % endif
-% if ue.get('dl_freq', -1) != -1:
+
+% if float(ue.get('dl_freq', -1)) != -1:
 dl_freq = ${ue.dl_freq}
 % endif
-% if ue.get('ul_freq', -1) != -1:
+% if float(ue.get('ul_freq', -1)) != -1:
 ul_freq = ${ue.ul_freq}
 % endif
-
 nof_carriers = ${ue.num_carriers}
 
+[rat.nr]
+nof_carriers = ${ue.num_nr_carriers}
 
 [pcap]
 enable = ${'mac' if ue.enable_pcap else 'none'}
@@ -65,19 +73,18 @@
 imsi = ${ue.imsi}
 imei = 353490069873319
 
-
 [rrc]
-% if "dl_qam256" in ue.features or "ul_qam64" in ue.features:
-ue_category       = 8
-release           = 13
-ue_category_dl    = 14
-ue_category_ul    = 5
-% elif int(ue.num_carriers) > 1:
-ue_category       = 7
-release           = 10
-% else:
-#ue_category       = 4
-#release           = 8
+% if ue.get('rrc_release', None) != None:
+release = ${ue.rrc_release}
+% endif
+% if ue.get('ue_category', None) != None:
+ue_category = ${ue.ue_category}
+% endif
+% if ue.get('ue_category_dl', None) != None:
+ue_category_dl = ${ue.ue_category_dl}
+% endif
+% if ue.get('ue_category_ul', None) != None:
+ue_category_ul = ${ue.ue_category_ul}
 % endif
 
 
