updated for version 7.0027
diff --git a/src/misc2.c b/src/misc2.c
index 30e1a1f..db091b5 100644
--- a/src/misc2.c
+++ b/src/misc2.c
@@ -107,9 +107,9 @@
 
     if (wcol == MAXCOL || rc == FAIL)
 	curwin->w_valid &= ~VALID_VIRTCOL;
-    else
+    else if (*ml_get_cursor() != TAB)
     {
-	/* Virtcol is valid */
+	/* Virtcol is valid when not on a TAB */
 	curwin->w_valid |= VALID_VIRTCOL;
 	curwin->w_virtcol = wcol;
     }