diff --git a/gtp/gtp.c b/gtp/gtp.c
index 45b4386..9b1c5ad 100644
--- a/gtp/gtp.c
+++ b/gtp/gtp.c
@@ -416,7 +416,7 @@
     packet->gtp0.h.length = hton16(len - GTP0_HEADER_SIZE);
     packet->gtp0.h.seq = hton16(gsn->seq_next);
     if (pdp)
-      packet->gtp0.h.tid = (pdp->imsi & 0x0fffffffffffffff) + 
+      packet->gtp0.h.tid = (pdp->imsi & 0x0fffffffffffffffull) + 
 	((uint64_t)pdp->nsapi << 60);
     if (pdp && ((packet->gtp0.h.type == GTP_GPDU) ||
 		(packet->gtp0.h.type == GTP_ERROR)))
@@ -1226,8 +1226,8 @@
   memset(pdp, 0, sizeof(struct pdp_t));
 
   if (version == 0) {
-    pdp->imsi = ((union gtp_packet*)pack)->gtp0.h.tid & 0x0fffffffffffffff;
-    pdp->nsapi = (((union gtp_packet*)pack)->gtp0.h.tid & 0xf000000000000000) >> 60;
+    pdp->imsi = ((union gtp_packet*)pack)->gtp0.h.tid & 0x0fffffffffffffffull;
+    pdp->nsapi = (((union gtp_packet*)pack)->gtp0.h.tid & 0xf000000000000000ull) >> 60;
   }
 
   pdp->seq = seq;
@@ -1899,8 +1899,8 @@
   /* For GTP1 we must use imsi and nsapi if imsi is present. Otherwise */
   /* we have to use the tunnel endpoint identifier */
   if (version == 0) {
-    imsi = ((union gtp_packet*)pack)->gtp0.h.tid & 0x0fffffffffffffff;
-    nsapi = (((union gtp_packet*)pack)->gtp0.h.tid & 0xf000000000000000) >> 60;
+    imsi = ((union gtp_packet*)pack)->gtp0.h.tid & 0x0fffffffffffffffull;
+    nsapi = (((union gtp_packet*)pack)->gtp0.h.tid & 0xf000000000000000ull) >> 60;
     
     /* Find the context in question */
     if (pdp_getimsi(&pdp, imsi, nsapi)) {
diff --git a/sgsnemu/sgsnemu.c b/sgsnemu/sgsnemu.c
index 53a1cc0..4915fcd 100644
--- a/sgsnemu/sgsnemu.c
+++ b/sgsnemu/sgsnemu.c
@@ -375,7 +375,7 @@
     return -1;
   }
 
-  options.imsi  = 0xf000000000000000;
+  options.imsi  = 0xf000000000000000ull;
   options.imsi |= ((uint64_t) (args_info.imsi_arg[ 0]-48));
   options.imsi |= ((uint64_t) (args_info.imsi_arg[ 1]-48)) <<  4;
   options.imsi |= ((uint64_t) (args_info.imsi_arg[ 2]-48)) <<  8;
@@ -657,7 +657,7 @@
     i64 = i64 / 10;
   }
 
-  *dst |= 0xf000000000000000;
+  *dst |= 0xf000000000000000ull;
 
   return 0;
 
