diff --git a/src/os_amiga.c b/src/os_amiga.c
index 1e3fd4b..58e462d 100644
--- a/src/os_amiga.c
+++ b/src/os_amiga.c
@@ -1387,7 +1387,11 @@
     if ((mydir = CurrentDir(mydir)) != 0) // make sure we stay in the same directory
 	UnLock(mydir);
     if (tmode == TMODE_RAW)
+    {
+	// The shell may have messed with the mode, always set it.
+	cur_tmode = TMODE_UNKNOWN;
 	settmode(TMODE_RAW);		// set to raw mode
+    }
 #ifdef FEAT_TITLE
     resettitle();
 #endif
diff --git a/src/os_unix.c b/src/os_unix.c
index aea3d5a..9162f5b 100644
--- a/src/os_unix.c
+++ b/src/os_unix.c
@@ -4521,7 +4521,11 @@
     }
 
     if (tmode == TMODE_RAW)
+    {
+	// The shell may have messed with the mode, always set it.
+	cur_tmode = TMODE_UNKNOWN;
 	settmode(TMODE_RAW);	// set to raw mode
+    }
 # ifdef FEAT_TITLE
     resettitle();
 # endif
@@ -4571,6 +4575,9 @@
     out_flush();
     if (options & SHELL_COOKED)
 	settmode(TMODE_COOK);		// set to normal mode
+    if (tmode == TMODE_RAW)
+	// The shell may have messed with the mode, always set it later.
+	cur_tmode = TMODE_UNKNOWN;
 
     if (unix_build_argv(cmd, &argv, &tofree1, &tofree2) == FAIL)
 	goto error;
diff --git a/src/os_win32.c b/src/os_win32.c
index 52bc95d..d77e216 100644
--- a/src/os_win32.c
+++ b/src/os_win32.c
@@ -4899,7 +4899,11 @@
     }
 
     if (tmode == TMODE_RAW)
+    {
+	// The shell may have messed with the mode, always set it.
+	cur_tmode = TMODE_UNKNOWN;
 	settmode(TMODE_RAW);	// set to raw mode
+    }
 
     // Print the return value, unless "vimrun" was used.
     if (x != 0 && !(options & SHELL_SILENT) && !emsg_silent
diff --git a/src/term.c b/src/term.c
index 9803a1b..1260c9a 100644
--- a/src/term.c
+++ b/src/term.c
@@ -2862,7 +2862,7 @@
 #if defined(FEAT_VTP) && defined(FEAT_TERMGUICOLORS)
 		  || (s[0] == ESC && s[1] == '|')
 #endif
-	          || (s[0] == CSI && (i = 1) == 1))
+		  || (s[0] == CSI && (i = 1) == 1))
 	      && s[i] != NUL
 	      && (STRCMP(s + i + 1, "%p1%dm") == 0
 		  || STRCMP(s + i + 1, "%dm") == 0)
@@ -3447,14 +3447,14 @@
     if (full_screen)
     {
 	/*
-	 * When returning after calling a shell we want to really set the
-	 * terminal to raw mode, even though we think it already is, because
-	 * the shell program may have reset the terminal mode.
+	 * When returning after calling a shell cur_tmode is TMODE_UNKNOWN,
+	 * set the terminal to raw mode, even though we think it already is,
+	 * because the shell program may have reset the terminal mode.
 	 * When we think the terminal is normal, don't try to set it to
 	 * normal again, because that causes problems (logout!) on some
 	 * machines.
 	 */
-	if (tmode != TMODE_COOK || cur_tmode != TMODE_COOK)
+	if (tmode != cur_tmode)
 	{
 #ifdef FEAT_TERMRESPONSE
 # ifdef FEAT_GUI
diff --git a/src/term.h b/src/term.h
index f1c3df5..b9535ee 100644
--- a/src/term.h
+++ b/src/term.h
@@ -209,6 +209,7 @@
 #define T_SSI	(TERM_STR(KS_SSI))	// save icon text
 #define T_SRI	(TERM_STR(KS_SRI))	// restore icon text
 
-#define TMODE_COOK  0	// terminal mode for external cmds and Ex mode
-#define TMODE_SLEEP 1	// terminal mode for sleeping (cooked but no echo)
-#define TMODE_RAW   2	// terminal mode for Normal and Insert mode
+#define TMODE_COOK	0   // terminal mode for external cmds and Ex mode
+#define TMODE_SLEEP	1   // terminal mode for sleeping (cooked but no echo)
+#define TMODE_RAW	2   // terminal mode for Normal and Insert mode
+#define TMODE_UNKNOWN   9   // after executing a shell
diff --git a/src/version.c b/src/version.c
index fa8ba91..6a28ae3 100644
--- a/src/version.c
+++ b/src/version.c
@@ -747,6 +747,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    773,
+/**/
     772,
 /**/
     771,
