diff --git a/bsc/BSC_Tests_VAMOS.ttcn b/bsc/BSC_Tests_VAMOS.ttcn
index ca722e7..9a53200 100644
--- a/bsc/BSC_Tests_VAMOS.ttcn
+++ b/bsc/BSC_Tests_VAMOS.ttcn
@@ -626,15 +626,27 @@
 	f_shutdown_helper();
 }
 
+const charstring PRIMARY_LCHAN_DONE := "PRIMARY_LCHAN_DONE";
+const charstring MULTIPLEX_DONE := "MULTIPLEX_DONE";
+
 /* First, primary lchan of TC_vamos_multiplex_tch_f_tch_f() */
 private function f_TC_vamos_multiplex_tch_f_tch_f1(charstring id) runs on MSC_ConnHdlr {
 	f_est_lchan_and_mode_modify_to_vamos();
+	f_sleep(1.0);
+	COORD.send(PRIMARY_LCHAN_DONE);
 	f_logp(BSCVTY, "f_est_lchan_and_mode_modify_to_vamos done");
+	COORD.receive(MULTIPLEX_DONE);
+	f_perform_clear(RSL);
 }
 
 /* Second, VAMOS shadow lchan of TC_vamos_multiplex_tch_f_tch_f() */
 private function f_TC_vamos_multiplex_tch_f_tch_f2(charstring id) runs on MSC_ConnHdlr {
+	f_sleep(1.0);
+	COORD.receive(PRIMARY_LCHAN_DONE);
 	f_est_and_reassign_to_secondary_lchan(valueof(t_RslChanNr_Osmo_VAMOS_Bm(1)));
+	f_sleep(1.0);
+	COORD.send(MULTIPLEX_DONE);
+	f_perform_clear(RSL);
 }
 
 /* Establish a primary lchan and modify it to VAMOS speech mode. Then establish
@@ -654,11 +666,14 @@
 
 	pars1.ass_codec_list := valueof(ts_BSSMAP_IE_CodecList({ts_CodecFR}));
 	pars2.ass_codec_list := valueof(ts_BSSMAP_IE_CodecList({ts_CodecFR}));
-	vc_conn1 := f_start_handler(refers(f_TC_vamos_multiplex_tch_f_tch_f1), pars1);
-	vc_conn1.done;
 
+	vc_conn1 := f_start_handler(refers(f_TC_vamos_multiplex_tch_f_tch_f1), pars1);
 	vc_conn2 := f_start_handler(refers(f_TC_vamos_multiplex_tch_f_tch_f2), pars2);
+	connect(vc_conn1:COORD, vc_conn2:COORD);
+
+	vc_conn1.done;
 	vc_conn2.done;
+
 	f_shutdown_helper();
 }
 
