diff --git a/ChangeLog b/ChangeLog
index 15a28c234d3fc88c19a8018883e5dcaad4539b2f..1c4b96eadac0cc9dda6d66adc63e5b505533c8b8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -58,9 +58,9 @@ CVS code -
 	  wrappers, change other ctype wrappers to take wint_t instead
 	  of wchar_t, and rename some functions for consistency.  Changes
 	  to is_alnum_mbchar(), is_blank_char() (renamed nisblank()),
-	  is_blank_mbchar(), is_blank_wchar() (renamed niswblank()), and
-	  is_cntrl_wchar(), etc.; removal of is_alnum_char() and
-	  is_alnum_wchar(). (DLR)
+	  is_blank_mbchar(), is_blank_wchar() (renamed niswblank()),
+	  is_cntrl_wchar(), control_rep(), control_mbrep(), etc.;
+	  removal of is_alnum_char() and is_alnum_wchar(). (DLR)
 - chars.c:
   make_mbstring()
 	- Change erroneous ENABLE_EXTRA #ifdef to NANO_EXTRA to fix a
diff --git a/src/chars.c b/src/chars.c
index 6a60b45fe49627ae1d79e7085943447ff0e1231e..880b034fc11135b525a990e1f05ede115ccf8751 100644
--- a/src/chars.c
+++ b/src/chars.c
@@ -148,7 +148,7 @@ bool is_cntrl_mbchar(const char *c)
 
 /* c is a control character.  It displays as ^@, ^?, or ^[ch], where ch
  * is c + 64.  We return that character. */
-unsigned char control_rep(unsigned char c)
+char control_rep(char c)
 {
     /* Treat newlines embedded in a line as encoded nulls. */
     if (c == '\n')
@@ -205,7 +205,7 @@ char *control_mbrep(const char *c, char *crep, int *crep_len)
     } else {
 #endif
 	*crep_len = 1;
-	*crep = control_rep((unsigned char)*c);
+	*crep = control_rep(*c);
 
 	return crep;
 #ifdef NANO_WIDE
diff --git a/src/proto.h b/src/proto.h
index 49d1b24c575b3dbf13f7da788be62cdbb5a13fff..6ceeab90d613f5f7b13ee5911e0156704b4a3349 100644
--- a/src/proto.h
+++ b/src/proto.h
@@ -173,7 +173,7 @@ bool is_cntrl_char(int c);
 bool is_cntrl_wchar(wint_t wc);
 #endif
 bool is_cntrl_mbchar(const char *c);
-unsigned char control_rep(unsigned char c);
+char control_rep(char c);
 #ifdef NANO_WIDE
 wchar_t control_wrep(wchar_t c);
 #endif