diff --git a/library/BSSGP_Emulation.ttcnpp b/library/BSSGP_Emulation.ttcnpp
index a9a15f5..89a69ad 100644
--- a/library/BSSGP_Emulation.ttcnpp
+++ b/library/BSSGP_Emulation.ttcnpp
@@ -204,7 +204,7 @@
 		/* create, connect and start the BVC component */
 		var BSSGP_BVC_CT bvc_ct := BSSGP_BVC_CT.create(bvc_id);
 		connect(bvc_ct:BVC, self:BVC);
-		bvc_ct.start(f_bssgp_bvc_main(bvc_cfg, g_cfg.sgsn_role, bvc_id));
+		bvc_ct.start(f_bssgp_bvc_main(bvc_cfg, g_cfg.sgsn_role, g_cfg.nsei, bvc_id));
 		/* populate the BVC state table */
 		BvcTable[i] := {
 			bvci := bvc_cfg.bvci,
@@ -631,6 +631,7 @@
 
 	var BssgpBvcConfig g_cfg;
 	var boolean g_sgsn_role;
+	var Nsei g_nsei;
 
 	/* default Link Selector Parameter for this BVC (for traffic unrelated to a TLLI) */
 	var integer g_bvc_lsp;
@@ -1227,8 +1228,9 @@
 }
 
 /* main function for per-BVC Component */
-private function f_bssgp_bvc_main(BssgpBvcConfig cfg, boolean sgsn_role, charstring id) runs on BSSGP_BVC_CT {
+private function f_bssgp_bvc_main(BssgpBvcConfig cfg, boolean sgsn_role, Nsei nsei, charstring id) runs on BSSGP_BVC_CT {
 	g_cfg := cfg;
+	g_nsei := nsei;
 	g_bvc_lsp := cfg.bvci;
 	g_sgsn_role := sgsn_role;
 	f_bssgp_bvc_ScanEvents();
@@ -1263,11 +1265,11 @@
 	log("BVCI(", g_cfg.bvci, ") State Transition: ", g_ptp_bvc_state, " -> ", new_state);
 	g_ptp_bvc_state := new_state;
 	if (MGMT.checkstate("Connected")) {
-		MGMT.send(ts_BssgpStsInd(omit, g_cfg.bvci, g_ptp_bvc_state));
+		MGMT.send(ts_BssgpStsInd(g_nsei, g_cfg.bvci, g_ptp_bvc_state));
 	}
 	for (var integer i := 0; i < sizeof(ClientTable); i := i+1) {
 		if (isbound(ClientTable[i].comp_ref) and ClientTable[i].comp_ref != null) {
-			BSSGP_SP.send(ts_BssgpStsInd(omit, g_cfg.bvci, g_ptp_bvc_state)) to ClientTable[i].comp_ref;
+			BSSGP_SP.send(ts_BssgpStsInd(g_nsei, g_cfg.bvci, g_ptp_bvc_state)) to ClientTable[i].comp_ref;
 		}
 	}
 }
