diff --git a/src/lib-sieve/ext-encoded-character.c b/src/lib-sieve/ext-encoded-character.c
index cc5553be7e180bd75363acb126c239cbbfa044e3..a1d252ea9b6bea9e912f9bf33e2c5374ec8590e7 100644
--- a/src/lib-sieve/ext-encoded-character.c
+++ b/src/lib-sieve/ext-encoded-character.c
@@ -120,8 +120,9 @@ static bool _decode_hex
 	return ( values > 0 );
 }
 
-static int _decode_unicode
-(const char **in, const char *inend, string_t *result, unsigned int *error_hex)
+static bool _decode_unicode
+(const char **in, const char *inend, string_t *result,
+	unsigned int *error_hex)
 {
 	int values = 0;
 	bool valid = TRUE;