diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn
index c0ec728..555fe0c 100644
--- a/bts/BTS_Tests.ttcn
+++ b/bts/BTS_Tests.ttcn
@@ -5465,25 +5465,39 @@
 
 /* Ensure that PCUIF socket can accept only a single connection */
 testcase TC_pcu_socket_connect_multi() runs on test_CT {
+	var boolean connected := false;
+	var UD_connect_result cr;
+	var integer cid;
 	timer T := 5.0;
 
+	var template UD_Result tr_ok := { result_code := SUCCESS, err := omit };
+	var template UD_Result tr_err := { result_code := ERROR, err := ? };
+
 	/* this (among other things) establishes the first connection to the PCUIF socket */
 	f_init_with_pcuif();
 
-	/* try to establish a second connection, expect it to fail */
+	/* try to establish a second connection */
 	PCU.send(UD_connect:{mp_pcu_socket, -1});
 	T.start;
 	alt {
-	[] PCU.receive(UD_connect_result:{id := ?, result := { result_code := ERROR, err := ? }}) {
+	/* the IUT will first accept() the new connection, and close() it immediately */
+	[not connected] PCU.receive(UD_connect_result:{ id := ?, result := tr_ok }) -> value cr {
+		log("BTS has accept()ed connection");
+		connected := true;
+		cid := cr.id;
+		repeat;
+		}
+	[connected] PCU.receive(UD_connect_result:{ id := cid, result := tr_err }) {
+		log("BTS has close()d connection");
 		setverdict(pass);
 		}
-	[] PCU.receive(UD_connect_result:?) {
-		setverdict(fail, "Unexpected unix domain connect result");
-		}
+	/* ignore other messages related to the first connection */
+	[] PCU.receive { repeat; }
 	[] T.timeout {
-		setverdict(pass);
+		setverdict(fail, "Timeout waiting for connection result");
 		}
 	}
+
 	Misc_Helpers.f_shutdown(__BFILE__, __LINE__);
 }
 
