diff --git a/cbc/CBC_Tests.ttcn b/cbc/CBC_Tests.ttcn
index c408781..fe59039 100644
--- a/cbc/CBC_Tests.ttcn
+++ b/cbc/CBC_Tests.ttcn
@@ -132,6 +132,12 @@
 	[] CBSP[idx].receive(tr_CBSP_Recv(g_cbsp_conn_id[idx], tr_CBSP_RESTART));
 }
 
+private function f_shutdown_helper() runs on test_CT {
+	all component.stop;
+	setverdict(pass);
+	mtc.stop;
+}
+
 private function f_init(boolean raw := false) runs on test_CT {
 	f_http_init(mp_cbc_host, mp_cbc_ecbe_port);
 	CBSP_Adapter.f_connect(mp_cbc_host, mp_cbc_cbsp_port, "", mp_local_cbsp_port);
@@ -157,7 +163,7 @@
 	rx := f_cbsp_exp(tr_CBSP_KEEP_ALIVE(?));
 	f_cbsp_find_ie(rx, CBSP_IEI_KEEP_ALIVE_REP_PERIOD, ie);
 
-	setverdict(pass);
+	f_shutdown_helper();
 }
 
 /* test whether CBC terminates connection if KEEP-ALIVE is not answered by BSC */
@@ -177,7 +183,7 @@
 	/* expect the CBSP connection to be closed */
 	CBSP[0].receive(PortEvent:{connClosed:=?})
 
-	setverdict(pass);
+	f_shutdown_helper();
 }
 
 type record CBS_Message {
@@ -298,6 +304,7 @@
 	};
 	f_cbsp_write(msg);
 	f_sleep(100.0);
+	f_shutdown_helper();
 }
 
 testcase TC_selftest() runs on test_CT {
@@ -410,6 +417,7 @@
 		ts_BSSMAP_CI_CGI('901'H, '70'H, 24, 43)
 	});
 	f_create_and_delete(valueof(msg), cell_list_success);
+	f_shutdown_helper();
 }
 testcase TC_ecbe_create_delete_lac_ci() runs on test_CT {
 	f_init();
@@ -421,6 +429,7 @@
 		ts_BSSMAP_CI_LAC_CI(10003, 50003)
 	});
 	f_create_and_delete(valueof(msg), cell_list_success);
+	f_shutdown_helper();
 }
 testcase TC_ecbe_create_delete_lac() runs on test_CT {
 	f_init();
@@ -432,6 +441,7 @@
 		ts_BSSMAP_CI_LAC(10003)
 	});
 	f_create_and_delete(valueof(msg), cell_list_success);
+	f_shutdown_helper();
 }
 testcase TC_ecbe_create_delete_ci() runs on test_CT {
 	f_init();
@@ -443,6 +453,7 @@
 		ts_BSSMAP_CI_CI(50003)
 	});
 	f_create_and_delete(valueof(msg), cell_list_success);
+	f_shutdown_helper();
 }
 testcase TC_ecbe_create_delete_lai() runs on test_CT {
 	f_init();
@@ -454,6 +465,7 @@
 		ts_BSSMAP_CI_LAI('901'H, '70'H, 27)
 	});
 	f_create_and_delete(valueof(msg), cell_list_success);
+	f_shutdown_helper();
 }
 
 control {
