diff --git a/ChangeLog b/ChangeLog
index e5f1b82b877ef81cc97b6a1782091f5aec9f2370..8847876e7668bcb1b5e50a4db76c46e0697a2826 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -36,7 +36,7 @@ CVS code -
 	  buffered input and output, the first steps toward
 	  wide/multibyte character input and output, and verbatim input
 	  of double-byte Unicode characters instead of single-byte ASCII
-	  characters.  New functions is_byte_char(), get_buffer(),
+	  characters.  New functions is_byte(), get_buffer(),
 	  get_buffer_len(), buffer_to_keys(), unget_input(),
 	  get_input(), parse_kbinput(), and parse_verbatim_kbinput();
 	  new macro charcpy(); changes to do_char() (renamed to
diff --git a/src/proto.h b/src/proto.h
index b35862b7b9e3be0d2ef4c10bdd61b0933fbe6fe4..0dfbfc344f78c7c597fcfc2cca41c7eccb79837b 100644
--- a/src/proto.h
+++ b/src/proto.h
@@ -500,7 +500,7 @@ int regexec_safe(const regex_t *preg, const char *string, size_t nmatch,
 int regexp_bol_or_eol(const regex_t *preg, const char *string);
 #endif
 int num_of_digits(int n);
-bool is_byte(int c);
+bool is_byte(unsigned int c);
 bool parse_num(const char *str, ssize_t *val);
 size_t move_left(const char *buf, size_t pos);
 size_t move_right(const char *buf, size_t pos);
diff --git a/src/utils.c b/src/utils.c
index 46b1d616003bd2c16ee034d8c5088f5fa1bad577..104fc5d0f239c814e658f28cb8e089d1807c6de4 100644
--- a/src/utils.c
+++ b/src/utils.c
@@ -67,9 +67,9 @@ int num_of_digits(int n)
     return i;
 }
 
-bool is_byte(int c)
+bool is_byte(unsigned int c)
 {
-    return ((unsigned int)c == (unsigned char)c);
+    return (c == (unsigned char)c);
 }
 
 /* Read a ssize_t from str, and store it in *val (if val is not NULL).