diff --git a/ChangeLog b/ChangeLog
index 215b9501e7b92a8ea989a5f4248f35c02c31c17d..2d2c15f597b56199953f4129d0747a890f90c575 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2014-03-21  Benno Schulenberg  <bensberg@justemail.net>
+	* src/chars.c (is_punct_mbchar, mbstrchr) - Elide a variable,
+	thus making two ifs identical to six others.
+
 2014-03-19  Benno Schulenberg  <bensberg@justemail.net>
 	* doc/nanorc.sample.in - Document the changed whitespace defaults.
 	* src/global.c, doc/man/nanorc.5 - Allow softwrap to be rebound.
diff --git a/src/chars.c b/src/chars.c
index 474c913fe815e086191e5fdb2f40b77efeca290e..67eb0df3866a03303e899cebbcbaa1dbeab35eaf 100644
--- a/src/chars.c
+++ b/src/chars.c
@@ -184,9 +184,8 @@ bool is_punct_mbchar(const char *c)
 #ifdef ENABLE_UTF8
     if (use_utf8) {
 	wchar_t wc;
-	int c_mb_len = mbtowc(&wc, c, MB_CUR_MAX);
 
-	if (c_mb_len < 0) {
+	if (mbtowc(&wc, c, MB_CUR_MAX) < 0) {
 	    mbtowc_reset();
 	    wc = bad_wchar;
 	}
@@ -788,9 +787,8 @@ char *mbstrchr(const char *s, const char *c)
 	char *s_mb = charalloc(MB_CUR_MAX);
 	const char *q = s;
 	wchar_t ws, wc;
-	int c_mb_len = mbtowc(&wc, c, MB_CUR_MAX);
 
-	if (c_mb_len < 0) {
+	if (mbtowc(&wc, c, MB_CUR_MAX) < 0) {
 	    mbtowc_reset();
 	    wc = (unsigned char)*c;
 	    bad_c_mb = TRUE;