diff --git a/mgw/MGCP_Test.ttcn b/mgw/MGCP_Test.ttcn
index 82ed608..264ac28 100644
--- a/mgw/MGCP_Test.ttcn
+++ b/mgw/MGCP_Test.ttcn
@@ -970,6 +970,9 @@
 		if (stats.num_pkts_rx_err_ts != 0) {
 			setverdict(fail);
 		}
+		if (stats.num_pkts_rx_err_pt != 0) {
+			setverdict(fail);
+		}
 		if (stats.num_pkts_rx_err_disabled != 0) {
 			setverdict(fail);
 		}
@@ -1008,6 +1011,9 @@
 		if (stats.num_pkts_rx_err_ts != 0) {
 			setverdict(fail);
 		}
+		if (stats.num_pkts_rx_err_pt != 0) {
+			setverdict(fail);
+		}
 		if (stats.num_pkts_rx_err_disabled != 0) {
 			setverdict(fail);
 		}
@@ -1062,6 +1068,11 @@
 			mtc.stop;
 		}
 
+		if (stats[0].num_pkts_rx_err_pt > 0 or stats[1].num_pkts_rx_err_pt > 0) {
+			setverdict(fail, "RTP packets with wrong payload type received");
+			mtc.stop;
+		}
+
 		setverdict(pass);
 	}
 
@@ -1163,12 +1174,20 @@
 			setverdict(fail, "number of packets not within normal parameters");
 			mtc.stop;
 		}
+		if (stats[0].num_pkts_rx_err_pt > 0) {
+			setverdict(fail, "RTP packets with wrong payload type received");
+			mtc.stop;
+		}
 
 		temp := stats[1].num_pkts_tx - num_pkts_tx[1] - stats[0].num_pkts_rx;
 		if (temp > 3 or temp < -3) {
 			setverdict(fail, "number of packets not within normal parameters");
 			mtc.stop;
 		}
+		if (stats[0].num_pkts_rx_err_pt > 0) {
+			setverdict(fail, "RTP packets with wrong payload type received");
+			mtc.stop;
+		}
 
 		/* Tear down */
 		f_flow_delete(RTPEM[0]);
@@ -1221,6 +1240,11 @@
 			mtc.stop;
 		}
 
+		if (stats[0].num_pkts_rx_err_pt > 0 or stats[1].num_pkts_rx_err_pt > 0) {
+			setverdict(fail, "RTP packets with wrong payload type received");
+			mtc.stop;
+		}
+
 		setverdict(pass);
 	}
 
@@ -1284,6 +1308,11 @@
 			mtc.stop;
 		}
 
+		if (stats[0].num_pkts_rx_err_pt > 0 or stats[1].num_pkts_rx_err_pt > 0) {
+			setverdict(fail, "RTP packets with wrong payload type received");
+			mtc.stop;
+		}
+
 		setverdict(pass);
 	}
 
