diff --git a/src/lib-sieve/rfc2822.c b/src/lib-sieve/rfc2822.c
index 15e2a4f735725e489c6767fe5845d606bb88e8d8..acbc73249137d8a8a7a3387a8ecd95f92298d333 100644
--- a/src/lib-sieve/rfc2822.c
+++ b/src/lib-sieve/rfc2822.c
@@ -60,7 +60,7 @@ bool rfc2822_header_field_body_verify
 	 */
 
 	while ( p < pend ) {
-		if ( *p == '\0' || *p == '\r' || *p == '\n' || *p > 127 )
+		if ( *p == '\0' || *p == '\r' || *p == '\n' || ((unsigned char)*p) > 127 )
 			return FALSE;
 
 		p++;