diff --git a/kseq.h b/kseq.h
index f1bdcc2432edc56832cb08ae250ced63f024a4a2..04f7e3f8890c24a829f6e8786fcfdbd5070d70a9 100644
--- a/kseq.h
+++ b/kseq.h
@@ -108,7 +108,7 @@ typedef struct __kstring_t {
 				} else break; \
 			} \
 			if (delimiter == KS_SEP_LINE) { \
-				unsigned char *sep = memchr(ks->buf + ks->begin, '\n', ks->end - ks->begin); \
+				unsigned char *sep = (unsigned char*)memchr(ks->buf + ks->begin, '\n', ks->end - ks->begin); \
 				i = sep != NULL ? sep - ks->buf : ks->end; \
 			} else if (delimiter > KS_SEP_MAX) { \
 				for (i = ks->begin; i < ks->end; ++i) \