diff --git a/src/misc2.c b/src/misc2.c
index 07bdf85..2d39eb8 100644
--- a/src/misc2.c
+++ b/src/misc2.c
@@ -48,22 +48,6 @@
 }
 
 /*
- * Get the screen position of character col with a coladd in the cursor line.
- */
-    int
-getviscol2(colnr_T col, colnr_T coladd)
-{
-    colnr_T	x;
-    pos_T	pos;
-
-    pos.lnum = curwin->w_cursor.lnum;
-    pos.col = col;
-    pos.coladd = coladd;
-    getvvcol(curwin, &pos, &x, NULL, NULL);
-    return (int)x;
-}
-
-/*
  * Go to column "wcol", and add/insert white space as necessary to get the
  * cursor in that column.
  * The caller must have saved the cursor line for undo!
@@ -86,6 +70,24 @@
 #endif
 
 /*
+ * Get the screen position of character col with a coladd in the cursor line.
+ */
+    int
+getviscol2(colnr_T col, colnr_T coladd)
+{
+    colnr_T	x;
+    pos_T	pos;
+
+    pos.lnum = curwin->w_cursor.lnum;
+    pos.col = col;
+#ifdef FEAT_VIRTUALEDIT
+    pos.coladd = coladd;
+#endif
+    getvvcol(curwin, &pos, &x, NULL, NULL);
+    return (int)x;
+}
+
+/*
  * Try to advance the Cursor to the specified screen column.
  * If virtual editing: fine tune the cursor position.
  * Note that all virtual positions off the end of a line should share
diff --git a/src/ops.c b/src/ops.c
index e3df9b3..f836e89 100644
--- a/src/ops.c
+++ b/src/ops.c
@@ -2754,7 +2754,12 @@
 			)
 	    {
 		int t = getviscol2(curbuf->b_op_start_orig.col,
-					      curbuf->b_op_start_orig.coladd);
+#ifdef FEAT_VIRTUALEDIT
+					      curbuf->b_op_start_orig.coladd
+#else
+					      0
+#endif
+					      );
 		oap->start.col = curbuf->b_op_start_orig.col;
 		pre_textlen -= t - oap->start_vcol;
 		oap->start_vcol = t;
@@ -2771,7 +2776,12 @@
 			)
 	    {
 		int t = getviscol2(curbuf->b_op_start_orig.col,
-					      curbuf->b_op_start_orig.coladd);
+#ifdef FEAT_VIRTUALEDIT
+					      curbuf->b_op_start_orig.coladd
+#else
+					      0
+#endif
+					      );
 		oap->start.col = curbuf->b_op_start_orig.col;
 		/* reset pre_textlen to the value of OP_INSERT */
 		pre_textlen += bd.textlen;
diff --git a/src/proto/misc2.pro b/src/proto/misc2.pro
index 660a652..644fe2a 100644
--- a/src/proto/misc2.pro
+++ b/src/proto/misc2.pro
@@ -1,8 +1,8 @@
 /* misc2.c */
 int virtual_active(void);
 int getviscol(void);
-int getviscol2(colnr_T col, colnr_T coladd);
 int coladvance_force(colnr_T wcol);
+int getviscol2(colnr_T col, colnr_T coladd);
 int coladvance(colnr_T wcol);
 int getvpos(pos_T *pos, colnr_T wcol);
 int inc_cursor(void);
diff --git a/src/version.c b/src/version.c
index 4b216f3..1c08ebe 100644
--- a/src/version.c
+++ b/src/version.c
@@ -796,6 +796,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    722,
+/**/
     721,
 /**/
     720,
