diff --git a/src/chars.c b/src/chars.c
index 65408447c7c1105bf5144d69b9b7cf5e65e36fdb..bf0a26892e2c24ac047fe2b89e4e3de09384a7ce 100644
--- a/src/chars.c
+++ b/src/chars.c
@@ -381,10 +381,10 @@ size_t move_mbleft(const char *buf, size_t pos)
     /* There is no library function to move backward one multibyte
      * character.  So we just start groping for one at the farthest
      * possible point. */
-    if (pos < MAXCHARLEN)
+    if (pos < 4)
 	before = 0;
     else
-	before = pos - MAXCHARLEN;
+	before = pos - 4;
 
     while (before < pos) {
 	char_len = parse_mbchar(buf + before, NULL, NULL);