diff --git a/ggsn_tests/GGSN_Tests.ttcn b/ggsn_tests/GGSN_Tests.ttcn
index ba8fae5..cb6aabf 100644
--- a/ggsn_tests/GGSN_Tests.ttcn
+++ b/ggsn_tests/GGSN_Tests.ttcn
@@ -93,7 +93,7 @@
 		var uint16_t g_d_seq_nr;
 
 		port TELNETasp_PT GGSNVTY;
-		var boolean use_gptu_txseq := true;
+		var boolean use_gtpu_txseq := true;
 	}
 
 	private function f_init_vty() runs on GT_CT {
@@ -153,7 +153,7 @@
 		g_d_seq_nr := f_rnd_int(65535);
 
 		f_init_vty();
-		f_vty_set_gpdu_txseq(use_gptu_txseq);
+		f_vty_set_gpdu_txseq(use_gtpu_txseq);
 	}
 
 	/* Altstep implementing responses to any incoming echo requests */
@@ -208,7 +208,7 @@
 
 	/* send GTP-U for a given context and increment sequence number */
 	function f_send_gtpu(inout PdpContext ctx, in octetstring data) runs on GT_CT {
-		if (use_gptu_txseq) {
+		if (use_gtpu_txseq) {
 			GTPU.send(ts_GTP1U_GPDU(g_peer_u, g_d_seq_nr, ctx.teid_remote, data));
 			g_d_seq_nr := g_d_seq_nr + 1;
 		} else {
@@ -603,7 +603,7 @@
 		T_default.start;
 		alt {
 			[] GTPU.receive(tr_GTPU_GPDU(g_peer_u, ?)) -> value ud {
-				if (f_verify_gtpu_txseq(ud.gtpu, use_gptu_txseq) == false) {
+				if (f_verify_gtpu_txseq(ud.gtpu, use_gtpu_txseq) == false) {
 					setverdict(fail);
 					stop;
 				}
@@ -639,7 +639,7 @@
 		T_default.start;
 		alt {
 			[] GTPU.receive(tr_GTPU_GPDU(g_peer_u, ?)) -> value ud {
-				if (f_verify_gtpu_txseq(ud.gtpu, use_gptu_txseq) == false) {
+				if (f_verify_gtpu_txseq(ud.gtpu, use_gtpu_txseq) == false) {
 					setverdict(fail);
 					stop;
 				}
@@ -910,13 +910,13 @@
 
 	/* Validate if different clients (pdp ctx) can reach one another through GGSN. */
 	testcase TC_pdp4_clients_interact_with_txseq() runs on GT_CT {
-		use_gptu_txseq := true;
+		use_gtpu_txseq := true;
 		f_pdp4_clients_interact();
 	}
 
 	/* Validate if different clients (pdp ctx) can reach one another through GGSN (without Tx sequence number). */
 	testcase TC_pdp4_clients_interact_without_txseq() runs on GT_CT {
-		use_gptu_txseq := false;
+		use_gtpu_txseq := false;
 		f_pdp4_clients_interact();
 	}
 
