diff --git a/src/core/libs/supl/asn-rrlp/INTEGER.c b/src/core/libs/supl/asn-rrlp/INTEGER.c
index c2ec748cc..9d6ff9d28 100644
--- a/src/core/libs/supl/asn-rrlp/INTEGER.c
+++ b/src/core/libs/supl/asn-rrlp/INTEGER.c
@@ -133,9 +133,9 @@ INTEGER__dump(asn_TYPE_descriptor_t *td, const INTEGER_t *st, asn_app_consume_by
 		char *scr;
 
 		if(buf == buf_end) {
-			accum = 0;
+			accum = 0LL;
 		} else {
-			accum = (*buf & 0x80) ? -1 : 0;
+			accum = (*buf & 0x80) ? -1LL : 0LL;
 			for(; buf < buf_end; buf++)
 				accum = (accum * 256) | *buf;
 		}
@@ -160,7 +160,7 @@ INTEGER__dump(asn_TYPE_descriptor_t *td, const INTEGER_t *st, asn_app_consume_by
 			scr = scratch;
 			ret = snprintf(scr, scrsize,
 				(specs && specs->field_unsigned)
-                           ?"%lld":"%lld", accum);
+                           ?"%llu":"%lld", accum);
 		}
 		assert(ret > 0 && (size_t)ret < scrsize);
 		return (cb(scr, ret, app_key) < 0) ? -1 : ret;