diff --git a/ggsn_tests/GGSN_Tests.ttcn b/ggsn_tests/GGSN_Tests.ttcn
index 10f6a86..9864da1 100644
--- a/ggsn_tests/GGSN_Tests.ttcn
+++ b/ggsn_tests/GGSN_Tests.ttcn
@@ -270,6 +270,44 @@
 								sgsn_ip_data, msisdn)))
 	}
 
+	function f_teardown_ind_IE(in template BIT1 ind) return template TearDownInd {
+		if (isvalue(ind)) {
+			return omit;
+		}
+		var TearDownInd ret := {
+			type_gtpc := '13'O,
+			tdInd := valueof(ind),
+			spare:= '0000000'B
+		}
+		return ret;
+	}
+
+	template GTPC_PDUs ts_DeletePdpPDU(BIT4 nsapi, template BIT1 teardown_ind) := {
+		deletePDPContextRequest := {
+			cause := omit,
+			tearDownIndicator := f_teardown_ind_IE(teardown_ind),
+			nsapi := {
+				type_gtpc := '14'O,
+				nsapi := nsapi,
+				unused := '0000'B
+			},
+			protConfigOptions := omit,
+			userLocationInformation := omit,
+			mS_TimeZone := omit,
+			extendedCommonFlags := omit,
+			uLI_Timestamp := omit,
+			private_extension_gtpc := omit
+		}
+	}
+
+	template Gtp1cUnitdata ts_GTPC_DeletePDP(GtpPeer peer, OCT4 teid, BIT4 nsapi,
+						 template BIT1 teardown_ind) := {
+		peer := peer,
+		gtpc := ts_GTP1C_PDU(deletePDPContextRequest, teid,
+					valueof(ts_DeletePdpPDU(nsapi, teardown_ind)))
+	}
+
+
 	/* GTP-U */
 
 	template PDU_GTPU tr_GTP1U_PDU(template OCT1 msg_type, template OCT4 teid) := {
@@ -378,6 +416,26 @@
 		deactivate(d);
 	}
 
+	function f_pdp_ctx_del(OCT4 teid, BIT4 nsapi, template BIT1 teardown_ind) runs on GT_CT {
+		var Gtp1cUnitdata ud;
+		var default d;
+
+		GTPC.send(ts_GTPC_DeletePDP(g_peer, teid, nsapi, teardown_ind));
+		T_default.start;
+
+		d := activate(pingpong());
+		alt {
+			[] GTPC.receive(tr_GTPC_MsgType(g_peer, deletePDPContextResponse, teid)) -> value ud {
+				if (ud.gtpc.gtpc_pdu.deletePDPContextResponse.cause.causevalue == '80'O) {
+					setverdict(pass);
+				} else {
+					setverdict(fail);
+				}
+			}
+		}
+		deactivate(d);
+	}
+
 	testcase TC_activate_pdp4() runs on GT_CT {
 		f_init();
 		var hexstring imsi := '262420123456789'H;
