diff --git a/src/lib-sieve/sieve-script.c b/src/lib-sieve/sieve-script.c
index 1aa5dc5ea212dd75085dd8c531518714b495c335..2fe5f62f992e5fb6732244d4f3b40e54a03d6703 100644
--- a/src/lib-sieve/sieve-script.c
+++ b/src/lib-sieve/sieve-script.c
@@ -362,7 +362,7 @@ struct istream *sieve_script_open
 				"sieve script file '%s' is not a regular file", script->path);
 			result = NULL;
 		} else if ( script->svinst->max_script_size > 0 && 
-			st.st_size > script->svinst->max_script_size ) {
+			(uoff_t)st.st_size > script->svinst->max_script_size ) {
 			sieve_error(script->ehandler, script->basename,
 				"sieve script is too large (max %"PRIuSIZE_T" bytes)",
 				script->svinst->max_script_size);