updated for version 7.0024
diff --git a/src/normal.c b/src/normal.c
index 83759b7..9d0d8a9 100644
--- a/src/normal.c
+++ b/src/normal.c
@@ -7342,7 +7342,11 @@
 	    {
 		i = curwin->w_leftcol + W_WIDTH(curwin) - col_off - 1;
 		coladvance((colnr_T)i);
-		curwin->w_set_curswant = TRUE;
+
+		/* Make sure we stick in this column. */
+		validate_virtcol();
+		curwin->w_curswant = curwin->w_virtcol;
+		curwin->w_set_curswant = FALSE;
 	    }
 	}
 	break;