diff --git a/src/autocmd.c b/src/autocmd.c
index 93da0bb..cf0f094 100644
--- a/src/autocmd.c
+++ b/src/autocmd.c
@@ -182,6 +182,7 @@
     {"TextChanged",	EVENT_TEXTCHANGED},
     {"TextChangedI",	EVENT_TEXTCHANGEDI},
     {"TextChangedP",	EVENT_TEXTCHANGEDP},
+    {"TextChangedT",	EVENT_TEXTCHANGEDT},
     {"User",		EVENT_USER},
     {"VimEnter",	EVENT_VIMENTER},
     {"VimLeave",	EVENT_VIMLEAVE},
diff --git a/src/terminal.c b/src/terminal.c
index ae532dc..d9f1e0f 100644
--- a/src/terminal.c
+++ b/src/terminal.c
@@ -1222,6 +1222,8 @@
 	setcursor();
     if (redraw)
     {
+	aco_save_T	aco;
+
 	if (term->tl_buffer == curbuf && term->tl_cursor_visible)
 	    cursor_on();
 	out_flush();
@@ -1232,6 +1234,16 @@
 	    gui_mch_flush();
 	}
 #endif
+        // Make sure an invoked autocmd doesn't delete the buffer (and the
+        // terminal) under our fingers.
+	++term->tl_buffer->b_locked;
+
+	// save and restore curwin and curbuf, in case the autocmd changes them
+	aucmd_prepbuf(&aco, curbuf);
+	apply_autocmds(EVENT_TEXTCHANGEDT, NULL, NULL, FALSE, term->tl_buffer);
+	aucmd_restbuf(&aco);
+
+	--term->tl_buffer->b_locked;
     }
 }
 
diff --git a/src/testdir/test_terminal.vim b/src/testdir/test_terminal.vim
index 69faa3d..d0ffe3b 100644
--- a/src/testdir/test_terminal.vim
+++ b/src/testdir/test_terminal.vim
@@ -2321,5 +2321,54 @@
   bwipe!
 endfunc
 
+func Test_term_TextChangedT()
+  augroup TermTest
+    autocmd TextChangedT * ++once
+          \ execute expand('<abuf>') . 'buffer' |
+          \ let b:called = 1 |
+          \ split |
+          \ enew
+  augroup END
+
+  terminal
+
+  let term_buf = bufnr()
+
+  let b:called = 0
+
+  call term_sendkeys(term_buf, "aaabbc\r")
+  call TermWait(term_buf)
+
+  call assert_equal(1, getbufvar(term_buf, 'called'))
+
+  " Current buffer will be restored
+  call assert_equal(bufnr(), term_buf)
+
+  bwipe!
+  augroup TermTest
+    au!
+  augroup END
+endfunc
+
+func Test_term_TextChangedT_close()
+  augroup TermTest
+    autocmd TextChangedT * ++once split | enew | 1close!
+  augroup END
+
+  terminal
+
+  let term_buf = bufnr()
+
+  call term_sendkeys(term_buf, "aaabbc\r")
+  call TermWait(term_buf)
+
+  " Current buffer will be restored
+  call assert_equal(bufnr(), term_buf)
+
+  bwipe!
+  augroup TermTest
+    au!
+  augroup END
+endfunc
 
 " vim: shiftwidth=2 sts=2 expandtab
diff --git a/src/version.c b/src/version.c
index a917dfd..d987d91 100644
--- a/src/version.c
+++ b/src/version.c
@@ -696,6 +696,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    756,
+/**/
     755,
 /**/
     754,
diff --git a/src/vim.h b/src/vim.h
index 57368f3..5d8c738 100644
--- a/src/vim.h
+++ b/src/vim.h
@@ -1394,6 +1394,7 @@
     EVENT_TEXTCHANGED,		// text was modified not in Insert mode
     EVENT_TEXTCHANGEDI,		// text was modified in Insert mode
     EVENT_TEXTCHANGEDP,		// TextChangedI with popup menu visible
+    EVENT_TEXTCHANGEDT,		// text was modified in Terminal mode
     EVENT_TEXTYANKPOST,		// after some text was yanked
     EVENT_USER,			// user defined autocommand
     EVENT_VIMENTER,		// after starting Vim
