diff --git a/runtime/doc/term.txt b/runtime/doc/term.txt
index 79debe3..133d0e9 100644
--- a/runtime/doc/term.txt
+++ b/runtime/doc/term.txt
@@ -1,4 +1,4 @@
-*term.txt*      For Vim version 8.1.  Last change: 2019 May 07
+*term.txt*      For Vim version 8.1.  Last change: 2019 Oct 12
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -80,14 +80,19 @@
 <
 						*raw-terminal-mode*
 For normal editing the terminal will be put into "raw" mode.  The strings
-defined with 't_ti' and 't_ks' will be sent to the terminal.  Normally this
-puts the terminal in a state where the termcap codes are valid and activates
-the cursor and function keys.  When Vim exits the terminal will be put back
-into the mode it was before Vim started.  The strings defined with 't_te' and
-'t_ke' will be sent to the terminal.  On the Amiga, with commands that execute
-an external command (e.g., "!!"), the terminal will be put into Normal mode
-for a moment.  This means that you can stop the output to the screen by
-hitting a printing key.  Output resumes when you hit <BS>.
+defined with 't_ti', 't_TI' and 't_ks' will be sent to the terminal.  Normally
+this puts the terminal in a state where the termcap codes are valid and
+activates the cursor and function keys.
+When Vim exits the terminal will be put back into the mode it was before Vim
+started.  The strings defined with 't_te', 't_TE' and 't_ke' will be sent to
+the terminal.  On the Amiga, with commands that execute an external command
+(e.g., "!!"), the terminal will be put into Normal mode for a moment.  This
+means that you can stop the output to the screen by hitting a printing key.
+Output resumes when you hit <BS>.
+
+Note: When 't_ti' is not empty, Vim assumes that it causes switching to the
+alternate screen.  This may slightly change what happens when executing a
+shell command or exiting Vim.  To avoid this use 't_TI' and 't_TE'.
 
 						*xterm-bracketed-paste*
 When the 't_BE' option is set then 't_BE' will be sent to the
@@ -297,8 +302,8 @@
 	t_se	standout end					*t_se* *'t_se'*
 	t_so	standout mode					*t_so* *'t_so'*
 	t_sr	scroll reverse (backward)			*t_sr* *'t_sr'*
-	t_te	out of "termcap" mode				*t_te* *'t_te'*
-	t_ti	put terminal in "termcap" mode			*t_ti* *'t_ti'*
+	t_te	end of "termcap" mode				*t_te* *'t_te'*
+	t_ti	put terminal into "termcap" mode		*t_ti* *'t_ti'*
 	t_ts	set window title start (to status line)		*t_ts* *'t_ts'*
 	t_ue	underline end					*t_ue* *'t_ue'*
 	t_us	underline mode					*t_us* *'t_us'*
@@ -359,6 +364,8 @@
 	t_RT	restore window title from stack			*t_RT* *'t_RT'*
 	t_Si	save icon text to stack				*t_Si* *'t_Si'*
 	t_Ri	restore icon text from stack			*t_Ri* *'t_Ri'*
+	t_TE	end of "raw" mode				*t_TE* *'t_TE'*
+	t_TI	put terminal into "raw" mode 			*t_TI* *'t_TI'*
 
 Some codes have a start, middle and end part.  The start and end are defined
 by the termcap option, the middle part is text.
diff --git a/src/optiondefs.h b/src/optiondefs.h
index 3745d07..47f17ed 100644
--- a/src/optiondefs.h
+++ b/src/optiondefs.h
@@ -2969,7 +2969,9 @@
     p_term("t_ST", T_CST)
     p_term("t_Te", T_STE)
     p_term("t_te", T_TE)
+    p_term("t_TE", T_CTE)
     p_term("t_ti", T_TI)
+    p_term("t_TI", T_CTI)
     p_term("t_Ts", T_STS)
     p_term("t_ts", T_TS)
     p_term("t_u7", T_U7)
diff --git a/src/term.c b/src/term.c
index e30506b..8ab5f42 100644
--- a/src/term.c
+++ b/src/term.c
@@ -1624,6 +1624,7 @@
 			{KS_CM, "cm"}, {KS_SR, "sr"},
 			{KS_CRI,"RI"}, {KS_VB, "vb"}, {KS_KS, "ks"},
 			{KS_KE, "ke"}, {KS_TI, "ti"}, {KS_TE, "te"},
+			{KS_CTI, "TI"}, {KS_CTE, "TE"},
 			{KS_BC, "bc"}, {KS_CSB,"Sb"}, {KS_CSF,"Sf"},
 			{KS_CAB,"AB"}, {KS_CAF,"AF"}, {KS_LE, "le"},
 			{KS_ND, "nd"}, {KS_OP, "op"}, {KS_CRV, "RV"},
@@ -3462,6 +3463,7 @@
     if (full_screen && !termcap_active)
     {
 	out_str(T_TI);			/* start termcap mode */
+	out_str(T_CTI);			/* start "raw" mode */
 	out_str(T_KS);			/* start "keypad transmit" mode */
 	out_str(T_BE);			/* enable bracketed paste mode */
 	out_flush();
@@ -3517,6 +3519,7 @@
 	out_flush();
 	termcap_active = FALSE;
 	cursor_on();			/* just in case it is still off */
+	out_str(T_CTE);			/* stop "raw" mode */
 	out_str(T_TE);			/* stop termcap mode */
 	screen_start();			/* don't know where cursor is now */
 	out_flush();
diff --git a/src/term.h b/src/term.h
index 219a208..0791f46 100644
--- a/src/term.h
+++ b/src/term.h
@@ -65,7 +65,9 @@
     KS_KS,	/* put term in "keypad transmit" mode */
     KS_KE,	/* out of "keypad transmit" mode */
     KS_TI,	/* put terminal in termcap mode */
-    KS_TE,	/* out of termcap mode */
+    KS_CTI,	/* put terminal in "raw" mode */
+    KS_TE,	/* end of termcap mode */
+    KS_CTE,	/* end of "raw" mode */
     KS_BC,	/* backspace character (cursor left) */
     KS_CCS,	/* cur is relative to scroll region */
     KS_CCO,	/* number of colors */
@@ -164,7 +166,9 @@
 #define T_KS	(TERM_STR(KS_KS))	/* put term in "keypad transmit" mode */
 #define T_KE	(TERM_STR(KS_KE))	/* out of "keypad transmit" mode */
 #define T_TI	(TERM_STR(KS_TI))	/* put terminal in termcap mode */
-#define T_TE	(TERM_STR(KS_TE))	/* out of termcap mode */
+#define T_CTI	(TERM_STR(KS_CTI))	/* put terminal in "raw" mode */
+#define T_TE	(TERM_STR(KS_TE))	/* end of termcap mode */
+#define T_CTE	(TERM_STR(KS_CTE))	/* end of "raw" mode */
 #define T_BC	(TERM_STR(KS_BC))	/* backspace character */
 #define T_CCS	(TERM_STR(KS_CCS))	/* cur is relative to scroll region */
 #define T_CCO	(TERM_STR(KS_CCO))	/* number of colors */
diff --git a/src/version.c b/src/version.c
index 615d24e..8ad31a0 100644
--- a/src/version.c
+++ b/src/version.c
@@ -754,6 +754,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    2144,
+/**/
     2143,
 /**/
     2142,
