diff --git a/gtp/gtp.c b/gtp/gtp.c
index fd4f0d0..6185634 100644
--- a/gtp/gtp.c
+++ b/gtp/gtp.c
@@ -427,8 +427,7 @@
 		packet->gtp0.h.seq = hton16(gsn->seq_next);
 		if (pdp) {
 			packet->gtp0.h.tid =
-			    htobe64((pdp->imsi & 0x0fffffffffffffffull) +
-				    ((uint64_t) pdp->nsapi << 60));
+				htobe64(pdp_gettid(pdp->imsi, pdp->nsapi));
 		}
 		if (pdp && ((packet->gtp0.h.type == GTP_GPDU)
 			    || (packet->gtp0.h.type == GTP_ERROR)))
@@ -1332,8 +1331,7 @@
 	if (version == 0) {
 		uint64_t tid = be64toh(((union gtp_packet *)pack)->gtp0.h.tid);
 
-		pdp->imsi = tid & 0x0fffffffffffffffull;
-		pdp->nsapi = (tid & 0xf000000000000000ull) >> 60;
+		pdp_set_imsi_nsapi(pdp, tid);
 	}
 
 	pdp->seq = seq;
@@ -2052,8 +2050,7 @@
 	if (version == 0) {
 		uint64_t tid = be64toh(((union gtp_packet *)pack)->gtp0.h.tid);
 
-		imsi = tid & 0x0fffffffffffffffull;
-		nsapi = (tid & 0xf000000000000000ull) >> 60;
+		pdp_set_imsi_nsapi(pdp, tid);
 
 		/* Find the context in question */
 		if (pdp_getimsi(&pdp, imsi, nsapi)) {
@@ -3193,9 +3190,7 @@
 		packet.gtp0.h.length = hton16(len);
 		packet.gtp0.h.seq = hton16(pdp->gtpsntx++);
 		packet.gtp0.h.flow = hton16(pdp->flru);
-		packet.gtp0.h.tid =
-		    htobe64((pdp->imsi & 0x0fffffffffffffffull) +
-			    ((uint64_t) pdp->nsapi << 60));
+		packet.gtp0.h.tid = htobe64(pdp_gettid(pdp->imsi, pdp->nsapi));
 
 		if (len > sizeof(union gtp_packet) - sizeof(struct gtp0_header)) {
 			gsn->err_memcpy++;
diff --git a/gtp/pdp.c b/gtp/pdp.c
index dfb91ea..dc21bf8 100644
--- a/gtp/pdp.c
+++ b/gtp/pdp.c
@@ -370,6 +370,12 @@
 	return (imsi & 0x0fffffffffffffffull) + ((uint64_t) nsapi << 60);
 }
 
+void pdp_set_imsi_nsapi(struct pdp_t *pdp, uint64_t teid)
+{
+	pdp->imsi = teid & 0x0fffffffffffffffull;
+	pdp->nsapi = (teid & 0xf000000000000000ull) >> 60;
+}
+
 int ulcpy(void *dst, void *src, size_t size)
 {
 	if (((struct ul255_t *)src)->l <= size) {
diff --git a/gtp/pdp.h b/gtp/pdp.h
index b069a6f..6e30467 100644
--- a/gtp/pdp.h
+++ b/gtp/pdp.h
@@ -242,6 +242,8 @@
 int pdp_tiddel(struct pdp_t *pdp);
 int pdp_tidget(struct pdp_t **pdp, uint64_t tid);
 
+void pdp_set_imsi_nsapi(struct pdp_t *pdp, uint64_t teid);
+
 /*
 int pdp_iphash(void* ipif, struct ul66_t *eua);
 int pdp_ipset(struct pdp_t *pdp, void* ipif, struct ul66_t *eua);
