diff --git a/src/misc2.c b/src/misc2.c
index 2ac7f5e..45070d7 100644
--- a/src/misc2.c
+++ b/src/misc2.c
@@ -3251,7 +3251,11 @@
 	/* The external command may update a tags file, clear cached tags. */
 	tag_freematch();
 
-	if (cmd == NULL || *p_sxq == NUL)
+	if (cmd == NULL || *p_sxq == NUL
+#if defined(FEAT_GUI_MSWIN) && defined(FEAT_TERMINAL)
+		|| vim_strchr(p_go, GO_TERMINAL) != NULL
+#endif
+		)
 	    retval = mch_call_shell(cmd, opt);
 	else
 	{
diff --git a/src/os_win32.c b/src/os_win32.c
index 60bf341..1b961b2 100644
--- a/src/os_win32.c
+++ b/src/os_win32.c
@@ -4640,20 +4640,30 @@
     }
 #endif
 #if defined(FEAT_GUI) && defined(FEAT_TERMINAL)
-    /* TODO: make the terminal window work with input or output redirected. */
+    // TODO: make the terminal window work with input or output redirected.
     if (
 # ifdef VIMDLL
-	gui.in_use &&
+	    gui.in_use &&
 # endif
-	vim_strchr(p_go, GO_TERMINAL) != NULL
+	    vim_strchr(p_go, GO_TERMINAL) != NULL
 	 && (options & (SHELL_FILTER|SHELL_DOOUT|SHELL_WRITE|SHELL_READ)) == 0)
     {
-	/* Use a terminal window to run the command in. */
-	x = mch_call_shell_terminal(cmd, options);
+	char_u	*cmdbase = cmd;
+
+	// Skip a leading quote and (.
+	while (*cmdbase == '"' || *cmdbase == '(')
+	    ++cmdbase;
+
+	// Check the command does not begin with "start "
+	if (STRNICMP(cmdbase, "start", 5) != 0 || !VIM_ISWHITE(cmdbase[5]))
+	{
+	    // Use a terminal window to run the command in.
+	    x = mch_call_shell_terminal(cmd, options);
 # ifdef FEAT_TITLE
-	resettitle();
+	    resettitle();
 # endif
-	return x;
+	    return x;
+	}
     }
 #endif
 
diff --git a/src/version.c b/src/version.c
index 79d0400..d1ef98b 100644
--- a/src/version.c
+++ b/src/version.c
@@ -768,6 +768,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1492,
+/**/
     1491,
 /**/
     1490,
