updated for version 7.0158
diff --git a/src/charset.c b/src/charset.c
index 19f202a..1e0e837 100644
--- a/src/charset.c
+++ b/src/charset.c
@@ -1381,8 +1381,8 @@
 	    if (c != TAB && vim_isprintc(c))
 	    {
 		endadd = char2cells(c) - 1;
-		if (coladd >= endadd)
-		    coladd -= endadd;
+		if (coladd > endadd)	/* past end of line */
+		    endadd = 0;
 		else
 		    coladd = 0;
 	    }