diff --git a/gbproxy/GBProxy_Tests.ttcn b/gbproxy/GBProxy_Tests.ttcn
index 7811a01..9bd0550 100644
--- a/gbproxy/GBProxy_Tests.ttcn
+++ b/gbproxy/GBProxy_Tests.ttcn
@@ -14,6 +14,7 @@
 
 import from General_Types all;
 import from Osmocom_Types all;
+import from Misc_Helpers all;
 import from GSM_Types all;
 import from Native_Functions all;
 import from NS_Types all;
@@ -398,6 +399,15 @@
 }
 
 
+private function f_destroy_gb(inout GbInstance gb) runs on test_CT {
+	gb.vc_NS.stop;
+	gb.vc_BSSGP.stop;
+
+	for (var integer i := 0; i < lengthof(gb.cfg.bvc); i := i + 1) {
+		gb.vc_BSSGP_BVC[i].stop;
+	}
+}
+
 private function f_init_vty() runs on test_CT {
 	map(self:GBPVTY, system:GBPVTY);
 	f_vty_set_prompts(GBPVTY);
@@ -513,7 +523,16 @@
 }
 
 function f_cleanup() runs on test_CT {
-	self.stop;
+	var integer i;
+
+	for (i := 0; i < lengthof(mp_nsconfig_sgsn); i := i+1) {
+		f_destroy_gb(g_sgsn[i]);
+	}
+	for (i := 0; i < lengthof(mp_nsconfig_pcu); i := i+1) {
+		f_destroy_gb(g_pcu[i]);
+	}
+
+	Misc_Helpers.f_shutdown(__BFILE__, __LINE__, pass);
 }
 
 type function void_fn(charstring id) runs on BSSGP_ConnHdlr;
