diff --git a/bsc/MSC_ConnectionHandler.ttcn b/bsc/MSC_ConnectionHandler.ttcn
index 7c5a6d7..32f834d 100644
--- a/bsc/MSC_ConnectionHandler.ttcn
+++ b/bsc/MSC_ConnectionHandler.ttcn
@@ -296,6 +296,7 @@
 	port TELNETasp_PT BSCVTY;
 
 	var MediaState g_media;
+	var TestHdlrParams g_pars;
 }
 
 /* initialize all parameters */
@@ -352,13 +353,13 @@
 	link_id := valueof(ts_RslLinkID_DCCH(0))
 }
 
-function f_create_chan_and_exp(TestHdlrParams pars) runs on MSC_ConnHdlr {
-	var MobileIdentityLV mi := valueof(ts_MI_IMSI_LV(pars.imsi));
+function f_create_chan_and_exp() runs on MSC_ConnHdlr {
+	var MobileIdentityLV mi := valueof(ts_MI_IMSI_LV(g_pars.imsi));
 	var PDU_ML3_MS_NW l3_info := valueof(ts_CM_SERV_REQ(CM_TYPE_MO_CALL, mi));
 	var octetstring l3_enc := enc_PDU_ML3_MS_NW(l3_info);
 
 	/* call helper function for CHAN_RQD -> IMM ASS ->EST_IND */
-	RSL_Emulation.f_chan_est(pars.ra, l3_enc, pars.link_id, pars.fn);
+	RSL_Emulation.f_chan_est(g_pars.ra, l3_enc, g_pars.link_id, g_pars.fn);
 	f_create_bssmap_exp(l3_enc);
 }
 
@@ -619,7 +620,7 @@
 }
 
 /* establish a channel fully, expecting an assignment matching 'exp' */
-function f_establish_fully(TestHdlrParams pars, PDU_BSSAP ass_cmd, template PDU_BSSAP exp_ass_cpl)
+function f_establish_fully(PDU_BSSAP ass_cmd, template PDU_BSSAP exp_ass_cpl)
 runs on MSC_ConnHdlr return PDU_BSSAP {
 	var PDU_BSSAP bssap;
 	timer T := 10.0;
@@ -642,7 +643,7 @@
 
 	f_MscConnHdlr_init(1, "127.0.0.2", "127.0.0.3");
 
-	f_create_chan_and_exp(pars);
+	f_create_chan_and_exp();
 	/* we should now have a COMPL_L3 at the MSC */
 	BSSAP.receive(tr_BSSMAP_ComplL3);
 	f_create_mgcp_expect(mgcpcrit);
