diff --git a/library/RSL_Emulation.ttcn b/library/RSL_Emulation.ttcn
index 20a54a9..b743d60 100644
--- a/library/RSL_Emulation.ttcn
+++ b/library/RSL_Emulation.ttcn
@@ -184,7 +184,7 @@
 
 /* create an ew client with given RA and FN */
 private function f_cid_create(OCT1 ra, GsmFrameNumber fn, RSL_DchanHdlr comp_ref)
-runs on RSL_Emulation_CT return integer {
+runs on RSL_Emulation_CT {
 	var integer i;
 	for (i := 0; i < sizeof(ConnectionTable); i := i+1) {
 		if (not ispresent(ConnectionTable[i].ra) and
@@ -192,16 +192,15 @@
 			ConnectionTable[i].ra := ra;
 			ConnectionTable[i].ra_fn := fn;
 			ConnectionTable[i].comp_ref := comp_ref;
-			return i;
+			return;
 		}
 	}
-	log("No free entry in conn table for ", ra, fn);
-	return -1;
+	setverdict(fail, "No free entry in conn table for ", ra, fn);
 }
 
 /* create an ew client with given RA and FN */
 private function f_cid_create_cnr(uint8_t trx_nr, RslChannelNr chan_nr,  RSL_DchanHdlr comp_ref)
-runs on RSL_Emulation_CT return integer {
+runs on RSL_Emulation_CT {
 	var integer i;
 	for (i := 0; i < sizeof(ConnectionTable); i := i+1) {
 		if (not ispresent(ConnectionTable[i].ra) and
@@ -210,11 +209,10 @@
 			ConnectionTable[i].trx_nr := trx_nr;
 			ConnectionTable[i].chan_nr := chan_nr;
 			ConnectionTable[i].comp_ref := comp_ref;
-			return i;
+			return;
 		}
 	}
-	log("No free entry in conn table for ", trx_nr, chan_nr, comp_ref);
-	return -1;
+	setverdict(fail, "No free entry in conn table for ", trx_nr, chan_nr, comp_ref);
 }
 
 
