diff --git a/src/pack.c b/src/pack.c
index fd89d3c..e5571f3 100644
--- a/src/pack.c
+++ b/src/pack.c
@@ -335,17 +335,17 @@ off_t pack_seek(Packfile* file, off_t offset, int whence) {
 		case SEEK_SET:
 			if((file->start + offset) > file->end) return -1;
 			ret = lseek(file->fd, file->start + offset, SEEK_SET);
-			if(ret != (file->start + offset)) return -1;
+			if(ret != ((off_t)file->start + offset)) return -1;
 			break;
 		case SEEK_CUR:
 			if((file->start + offset) > file->end) return -1;
 			ret = lseek(file->fd, file->pos + offset, SEEK_SET);
-			if(ret != (file->pos + offset)) return -1;
+			if(ret != ((off_t)file->pos + offset)) return -1;
 			break;
 		case SEEK_END:
 			if((file->end - offset) < file->start) return -1;
 			ret = lseek(file->fd, file->end - offset - 1, SEEK_SET);
-			if(ret != (file->end - offset)) return -1;
+			if(ret != ((off_t)file->end - offset)) return -1;
 			break;
 #else
 		case SEEK_SET: