updated for version 7.1-018
diff --git a/src/ops.c b/src/ops.c
index ddc414b..e8c6917 100644
--- a/src/ops.c
+++ b/src/ops.c
@@ -3404,7 +3404,9 @@
 
 #ifdef FEAT_VIRTUALEDIT
 	col += curwin->w_cursor.coladd;
-	if (ve_flags == VE_ALL && curwin->w_cursor.coladd > 0)
+	if (ve_flags == VE_ALL
+		&& (curwin->w_cursor.coladd > 0
+		    || endcol2 == curwin->w_cursor.col))
 	{
 	    if (dir == FORWARD && c == NUL)
 		++col;
diff --git a/src/version.c b/src/version.c
index 1bfc824..42750d3 100644
--- a/src/version.c
+++ b/src/version.c
@@ -667,6 +667,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    18,
+/**/
     17,
 /**/
     16,