diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn
index 6f23e5f..1f8d8d4 100644
--- a/msc/MSC_Tests.ttcn
+++ b/msc/MSC_Tests.ttcn
@@ -2789,8 +2789,7 @@
 		setverdict(pass);
 		}
 	[] GSUP.receive {
-		log("RX unexpected GSUP message");
-		setverdict(fail);
+		setverdict(fail, "Rx unexpected GSUP message");
 		mtc.stop;
 		}
 	}
@@ -2845,8 +2844,7 @@
 		setverdict(pass);
 		}
 	[] GSUP.receive {
-		log("RX unexpected GSUP message");
-		setverdict(fail);
+		setverdict(fail, "Rx unexpected GSUP message");
 		mtc.stop;
 		}
 	}
@@ -2933,8 +2931,7 @@
 		setverdict(pass);
 		}
 	[] GSUP.receive {
-		log("RX unexpected GSUP message");
-		setverdict(fail);
+		setverdict(fail, "Rx unexpected GSUP message");
 		mtc.stop;
 		}
 	}
@@ -2996,8 +2993,7 @@
 		mtc.stop;
 		}
 	[] GSUP.receive {
-		log("RX unexpected GSUP message");
-		setverdict(fail);
+		setverdict(fail, "Rx unexpected GSUP message");
 		mtc.stop;
 		}
 	}
@@ -3057,24 +3053,20 @@
 
 	/* Both transaction IDs shall be different */
 	if (spars1.tid == spars2.tid) {
-		log("Both DTAP transaction IDs shall be different");
-		setverdict(fail);
+		setverdict(fail, "Both DTAP transaction IDs shall be different");
 	}
 
 	/* Both SM-RP-MR values shall be different */
 	if (spars1.rp.msg_ref == spars2.rp.msg_ref) {
-		log("Both SM-RP-MR values shall be different");
-		setverdict(fail);
+		setverdict(fail, "Both SM-RP-MR values shall be different");
 	}
 
 	/* Both SM-RP-MR values shall be assigned */
 	if (spars1.rp.msg_ref == 'FF'O) {
-		log("Unassigned SM-RP-MR value for the 1st SMS");
-		setverdict(fail);
+		setverdict(fail, "Unassigned SM-RP-MR value for the 1st SMS");
 	}
 	if (spars2.rp.msg_ref == 'FF'O) {
-		log("Unassigned SM-RP-MR value for the 2nd SMS");
-		setverdict(fail);
+		setverdict(fail, "Unassigned SM-RP-MR value for the 2nd SMS");
 	}
 
 	/* Send the 1st RP-ACK and expect MT-forwardSM-Res on GSUP */
@@ -3088,8 +3080,7 @@
 		setverdict(pass);
 		}
 	[] GSUP.receive {
-		log("RX unexpected GSUP message");
-		setverdict(fail);
+		setverdict(fail, "Rx unexpected GSUP message");
 		mtc.stop;
 		}
 	}
@@ -3105,8 +3096,7 @@
 		setverdict(pass);
 		}
 	[] GSUP.receive {
-		log("RX unexpected GSUP message");
-		setverdict(fail);
+		setverdict(fail, "Rx unexpected GSUP message");
 		mtc.stop;
 		}
 	}
@@ -3161,8 +3151,7 @@
 		setverdict(pass);
 		}
 	[] GSUP.receive {
-		log("RX unexpected GSUP message");
-		setverdict(fail);
+		setverdict(fail, "Rx unexpected GSUP message");
 		mtc.stop;
 		}
 	}
@@ -3178,14 +3167,12 @@
 
 	/* Both SM-RP-MR values shall be different */
 	if (spars_mo.rp.msg_ref == spars_mt.rp.msg_ref) {
-		log("Both SM-RP-MR values shall be different");
-		setverdict(fail);
+		setverdict(fail, "Both SM-RP-MR values shall be different");
 	}
 
 	/* SM-RP-MR value for MT SMS shall be assigned */
 	if (spars_mt.rp.msg_ref == 'FF'O) {
-		log("Unassigned SM-RP-MR value for the MT SMS");
-		setverdict(fail);
+		setverdict(fail, "Unassigned SM-RP-MR value for the MT SMS");
 	}
 
 	/* Trigger RP-ACK for MO SMMA by sending MO-forwardSM-Res */
@@ -3206,8 +3193,7 @@
 		setverdict(pass);
 		}
 	[] GSUP.receive {
-		log("RX unexpected GSUP message");
-		setverdict(fail);
+		setverdict(fail, "Rx unexpected GSUP message");
 		mtc.stop;
 		}
 	}
@@ -3270,8 +3256,7 @@
 			setverdict(pass);
 			}
 		[] GSUP.receive {
-			log("RX unexpected GSUP message");
-			setverdict(fail);
+			setverdict(fail, "Rx unexpected GSUP message");
 			mtc.stop;
 			}
 		}
