diff --git a/src/osmo_gsm_tester/bts_osmotrx.py b/src/osmo_gsm_tester/bts_osmotrx.py
index bd8aedf..f1a9bdf 100644
--- a/src/osmo_gsm_tester/bts_osmotrx.py
+++ b/src/osmo_gsm_tester/bts_osmotrx.py
@@ -92,21 +92,7 @@
 # PUBLIC - INTERNAL API
 ########################
     def conf_for_bsc(self):
-        values = config.get_defaults('bsc_bts')
-        config.overlay(values, config.get_defaults('osmo_bts_trx'))
-        if self.lac is not None:
-            config.overlay(values, { 'location_area_code': self.lac })
-        if self.rac is not None:
-            config.overlay(values, { 'routing_area_code': self.rac })
-        if self.cellid is not None:
-            config.overlay(values, { 'cell_identity': self.cellid })
-        if self.bvci is not None:
-            config.overlay(values, { 'bvci': self.bvci })
-        config.overlay(values, self.conf)
-
-        sgsn_conf = {} if self.sgsn is None else self.sgsn.conf_for_client()
-        config.overlay(values, sgsn_conf)
-
+        values = self.conf_for_bsc_osmo('osmo_bts_trx')
         self.dbg(conf=values)
         return values
 
