diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn
index 9b92207..40e777e 100644
--- a/bsc/BSC_Tests.ttcn
+++ b/bsc/BSC_Tests.ttcn
@@ -1431,13 +1431,8 @@
 
 type function void_fn(charstring id) runs on MSC_ConnHdlr;
 
-/* helper function to create, connect and start a MSC_ConnHdlr component */
-function f_start_handler(void_fn fn, template (omit) TestHdlrParams pars := omit)
-runs on test_CT return MSC_ConnHdlr {
-	var charstring id := testcasename();
-	var MSC_ConnHdlr vc_conn;
-
-	vc_conn := MSC_ConnHdlr.create(id);
+/* helper function to create and connect a MSC_ConnHdlr component */
+function f_connect_handler(inout MSC_ConnHdlr vc_conn) runs on test_CT {
 	connect(vc_conn:BSSMAPEM, g_bssap.vc_BSSMAP:PROC);
 	connect(vc_conn:MGCP_PROC, vc_MGCP:MGCP_PROC);
 	connect(vc_conn:RSL, bts[0].rsl.vc_RSL:CLIENT_PT);
@@ -1448,6 +1443,14 @@
 	}
 	connect(vc_conn:BSSAP, g_bssap.vc_BSSMAP:CLIENT);
 	connect(vc_conn:MGCP, vc_MGCP:MGCP_CLIENT);
+}
+
+function f_start_handler(void_fn fn, template (omit) TestHdlrParams pars := omit)
+runs on test_CT return MSC_ConnHdlr {
+	var charstring id := testcasename();
+	var MSC_ConnHdlr vc_conn;
+	vc_conn := MSC_ConnHdlr.create(id);
+	f_connect_handler(vc_conn);
 	vc_conn.start(f_handler_init(fn, id, pars));
 	return vc_conn;
 }
