diff --git a/src/edit.c b/src/edit.c
index 0519a01..5f6ac19 100644
--- a/src/edit.c
+++ b/src/edit.c
@@ -9347,20 +9347,12 @@
 				&& (!*inserted_space_p
 				    || arrow_used))))))
 	{
-#ifndef FEAT_VARTABS
 	    int		ts;
-#endif
 	    colnr_T	vcol;
 	    colnr_T	want_vcol;
 	    colnr_T	start_vcol;
 
 	    *inserted_space_p = FALSE;
-#ifndef FEAT_VARTABS
-	    if (p_sta && in_indent)
-		ts = (int)get_sw_value(curbuf);
-	    else
-		ts = (int)get_sts_value();
-#endif
 	    /* Compute the virtual column where we want to be.  Since
 	     * 'showbreak' may get in the way, need to get the last column of
 	     * the previous character. */
@@ -9371,11 +9363,18 @@
 	    inc_cursor();
 #ifdef FEAT_VARTABS
 	    if (p_sta && in_indent)
-		want_vcol = (want_vcol / curbuf->b_p_sw) * curbuf->b_p_sw;
+	    {
+		ts = (int)get_sw_value(curbuf);
+		want_vcol = (want_vcol / ts) * ts;
+	    }
 	    else
 		want_vcol = tabstop_start(want_vcol, get_sts_value(),
 						     curbuf->b_p_vsts_array);
 #else
+	    if (p_sta && in_indent)
+		ts = (int)get_sw_value(curbuf);
+	    else
+		ts = (int)get_sts_value();
 	    want_vcol = (want_vcol / ts) * ts;
 #endif
 
@@ -10200,7 +10199,7 @@
 #ifdef FEAT_VARTABS
     if (p_sta && ind)		/* insert tab in indent, use 'shiftwidth' */
     {
-	temp = (int)curbuf->b_p_sw;
+	temp = (int)get_sw_value(curbuf);
 	temp -= get_nolist_virtcol() % temp;
     }
     else if (tabstop_count(curbuf->b_p_vsts_array) > 0 || curbuf->b_p_sts != 0)
diff --git a/src/testdir/test_tab.vim b/src/testdir/test_tab.vim
index 3be3024..b8e8dfe 100644
--- a/src/testdir/test_tab.vim
+++ b/src/testdir/test_tab.vim
@@ -76,6 +76,15 @@
   exe "normal A\<BS>x\<Esc>"
   call assert_equal("x   x", getline(1))
 
-  set sts=0 sw=0 backspace&
+  call setline(1, 'x')
+  set sts=-1 sw=0 smarttab
+  exe "normal I\<Tab>\<Esc>"
+  call assert_equal("\tx", getline(1))
+
+  call setline(1, 'x')
+  exe "normal I\<Tab>\<BS>\<Esc>"
+  call assert_equal("x", getline(1))
+
+  set sts=0 sw=0 backspace& nosmarttab
   bwipe!
 endfunc
diff --git a/src/version.c b/src/version.c
index cfcbe53..8d97843 100644
--- a/src/version.c
+++ b/src/version.c
@@ -790,6 +790,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    154,
+/**/
     153,
 /**/
     152,
