diff --git a/src/osmo_gsm_tester/osmo_msc.py b/src/osmo_gsm_tester/osmo_msc.py
index 2c9b1e3..92a9d61 100644
--- a/src/osmo_gsm_tester/osmo_msc.py
+++ b/src/osmo_gsm_tester/osmo_msc.py
@@ -31,6 +31,7 @@
     hlr = None
     config = None
     smsc = None
+    encryption = None
 
     def __init__(self, suite_run, hlr, mgcpgw, ip_address):
         super().__init__(log.C_RUN, 'osmo-msc_%s' % ip_address.get('addr'))
@@ -76,6 +77,11 @@
         config.overlay(values, self.mgcpgw.conf_for_msc())
         config.overlay(values, self.hlr.conf_for_msc())
         config.overlay(values, self.smsc.get_config())
+
+        # runtime parameters:
+        if self.encryption is not None:
+            config.overlay(values, dict(msc=dict(net=dict(encryption=self.encryption))))
+
         self.config = values
 
         self.dbg('MSC CONFIG:\n' + pprint.pformat(values))
@@ -88,6 +94,9 @@
     def addr(self):
         return self.ip_address.get('addr')
 
+    def set_encryption(self, val):
+        self.encryption = val
+
     def mcc(self):
         return self.config['msc']['net']['mcc']
 
diff --git a/src/osmo_gsm_tester/osmo_nitb.py b/src/osmo_gsm_tester/osmo_nitb.py
index 3ef5276..9c15fe6 100644
--- a/src/osmo_gsm_tester/osmo_nitb.py
+++ b/src/osmo_gsm_tester/osmo_nitb.py
@@ -31,6 +31,7 @@
     process = None
     bts = None
     smsc = None
+    encryption = None
 
     def __init__(self, suite_run, ip_address):
         super().__init__(log.C_RUN, 'osmo-nitb_%s' % ip_address.get('addr'))
@@ -78,6 +79,11 @@
             bts_list.append(bts.conf_for_bsc())
         config.overlay(values, dict(nitb=dict(net=dict(bts_list=bts_list))))
         config.overlay(values, self.smsc.get_config())
+
+        # runtime parameters:
+        if self.encryption is not None:
+            config.overlay(values, dict(nitb=dict(net=dict(encryption=self.encryption))))
+
         self.config = values
 
         self.dbg('NITB CONFIG:\n' + pprint.pformat(values))
@@ -94,6 +100,9 @@
         self.bts.append(bts)
         bts.set_bsc(self)
 
+    def set_encryption(self, val):
+        self.encryption = val
+
     def mcc(self):
         return self.config['nitb']['net']['mcc']
 
