diff --git a/src/ex_cmdidxs.h b/src/ex_cmdidxs.h
index 1c435ca..8b7c85c 100644
--- a/src/ex_cmdidxs.h
+++ b/src/ex_cmdidxs.h
@@ -23,14 +23,14 @@
   /* p */ 309,
   /* q */ 348,
   /* r */ 351,
-  /* s */ 370,
-  /* t */ 437,
-  /* u */ 480,
-  /* v */ 491,
-  /* w */ 509,
-  /* x */ 524,
-  /* y */ 533,
-  /* z */ 534
+  /* s */ 371,
+  /* t */ 438,
+  /* u */ 481,
+  /* v */ 492,
+  /* w */ 510,
+  /* x */ 525,
+  /* y */ 534,
+  /* z */ 535
 };
 
 /*
@@ -58,7 +58,7 @@
   /* o */ {  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1,  2,  5,  0,  0,  0,  0,  0,  0,  9,  0, 11,  0,  0,  0 },
   /* p */ {  1,  0,  3,  0,  4,  0,  0,  0,  0,  0,  0,  0,  0,  0,  7,  9,  0,  0, 16, 17, 26,  0, 27,  0, 28,  0 },
   /* q */ {  2,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0 },
-  /* r */ {  0,  0,  0,  0,  0,  0,  0,  0, 11,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 13, 18,  0,  0,  0,  0 },
+  /* r */ {  0,  0,  0,  0,  0,  0,  0,  0, 12,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 14, 19,  0,  0,  0,  0 },
   /* s */ {  2,  6, 15,  0, 18, 22,  0, 24, 25,  0,  0, 28, 30, 34, 38, 40,  0, 48,  0, 49,  0, 61, 62,  0, 63,  0 },
   /* t */ {  2,  0, 19,  0, 22, 24,  0, 25,  0, 26,  0, 27, 31, 34, 36, 37,  0, 38, 40,  0, 41,  0,  0,  0,  0,  0 },
   /* u */ {  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 10,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0 },
@@ -69,4 +69,4 @@
   /* z */ {  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0 }
 };
 
-static const int command_count = 547;
+static const int command_count = 548;
diff --git a/src/ex_cmds.h b/src/ex_cmds.h
index 49e7fc7..6bb930c 100644
--- a/src/ex_cmds.h
+++ b/src/ex_cmds.h
@@ -1175,6 +1175,9 @@
 EX(CMD_redrawstatus,	"redrawstatus",	ex_redrawstatus,
 			BANG|TRLBAR|CMDWIN,
 			ADDR_LINES),
+EX(CMD_redrawtabline,	"redrawtabline", ex_redrawtabline,
+			TRLBAR|CMDWIN,
+			ADDR_LINES),
 EX(CMD_registers,	"registers",	ex_display,
 			EXTRA|NOTRLCOM|TRLBAR|CMDWIN,
 			ADDR_LINES),
diff --git a/src/ex_docmd.c b/src/ex_docmd.c
index aad8182..354cc11 100644
--- a/src/ex_docmd.c
+++ b/src/ex_docmd.c
@@ -296,6 +296,7 @@
 static void	ex_later(exarg_T *eap);
 static void	ex_redir(exarg_T *eap);
 static void	ex_redrawstatus(exarg_T *eap);
+static void	ex_redrawtabline(exarg_T *eap);
 static void	close_redir(void);
 static void	ex_mkrc(exarg_T *eap);
 static void	ex_mark(exarg_T *eap);
@@ -9918,6 +9919,25 @@
     out_flush();
 }
 
+/*
+ * ":redrawtabline": force redraw of the tabline
+ */
+    static void
+ex_redrawtabline(exarg_T *eap UNUSED)
+{
+    int		r = RedrawingDisabled;
+    int		p = p_lz;
+
+    RedrawingDisabled = 0;
+    p_lz = FALSE;
+
+    draw_tabline();
+
+    RedrawingDisabled = r;
+    p_lz = p;
+    out_flush();
+}
+
     static void
 close_redir(void)
 {
diff --git a/src/proto/screen.pro b/src/proto/screen.pro
index 7a10e3b..552453a 100644
--- a/src/proto/screen.pro
+++ b/src/proto/screen.pro
@@ -52,6 +52,7 @@
 int showmode(void);
 void unshowmode(int force);
 void clearmode(void);
+void draw_tabline(void);
 void get_trans_bufname(buf_T *buf);
 int redrawing(void);
 int messaging(void);
diff --git a/src/screen.c b/src/screen.c
index e9405b4..04f19d7 100644
--- a/src/screen.c
+++ b/src/screen.c
@@ -154,7 +154,6 @@
 static void win_rest_invalid(win_T *wp);
 static void msg_pos_mode(void);
 static void recording_mode(int attr);
-static void draw_tabline(void);
 static int fillchar_status(int *attr, win_T *wp);
 static int fillchar_vsep(int *attr);
 #ifdef FEAT_MENU
@@ -10693,7 +10692,7 @@
 /*
  * Draw the tab pages line at the top of the Vim window.
  */
-    static void
+    void
 draw_tabline(void)
 {
     int		tabcount = 0;
diff --git a/src/testdir/test_tabline.vim b/src/testdir/test_tabline.vim
index b08f299..383d239 100644
--- a/src/testdir/test_tabline.vim
+++ b/src/testdir/test_tabline.vim
@@ -1,19 +1,22 @@
-function! TablineWithCaughtError()
+
+source shared.vim
+
+func TablineWithCaughtError()
   let s:func_in_tabline_called = 1
   try
     call eval('unknown expression')
   catch
   endtry
   return ''
-endfunction
+endfunc
 
-function! TablineWithError()
+func TablineWithError()
   let s:func_in_tabline_called = 1
   call eval('unknown expression')
   return ''
-endfunction
+endfunc
 
-function! Test_caught_error_in_tabline()
+func Test_caught_error_in_tabline()
   if has('gui')
     set guioptions-=e
   endif
@@ -27,9 +30,9 @@
   call assert_equal(tabline, &tabline)
   set tabline=
   let &showtabline = showtabline_save
-endfunction
+endfunc
 
-function! Test_tabline_will_be_disabled_with_error()
+func Test_tabline_will_be_disabled_with_error()
   if has('gui')
     set guioptions-=e
   endif
@@ -46,4 +49,24 @@
   call assert_equal('', &tabline)
   set tabline=
   let &showtabline = showtabline_save
-endfunction
+endfunc
+
+func Test_redrawtabline()
+  if has('gui')
+    set guioptions-=e
+  endif
+  let showtabline_save = &showtabline
+  set showtabline=2
+  set tabline=%{bufnr('$')}
+  edit Xtabline1
+  edit Xtabline2
+  redraw
+  call assert_match(bufnr('$') . '', Screenline(1))
+  au BufAdd * redrawtabline
+  badd Xtabline3
+  call assert_match(bufnr('$') . '', Screenline(1))
+
+  set tabline=
+  let &showtabline = showtabline_save
+  au! Bufadd
+endfunc
diff --git a/src/version.c b/src/version.c
index e772d05..768c384 100644
--- a/src/version.c
+++ b/src/version.c
@@ -800,6 +800,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    706,
+/**/
     705,
 /**/
     704,
