diff --git a/src/option.c b/src/option.c
index 033a6d2..04db07b 100644
--- a/src/option.c
+++ b/src/option.c
@@ -3883,7 +3883,8 @@
 
 #if defined(MSDOS) || defined(WIN3264) || defined(OS2)
     /*
-     * Set 'shellcmdflag and 'shellquote' depending on the 'shell' option.
+     * Set 'shellcmdflag', 'shellxquote', and 'shellquote' depending on the
+     * 'shell' option.
      * This is done after other initializations, where 'shell' might have been
      * set, but only if they have not been set before.  Default for p_shcf is
      * "/c", for p_shq is "".  For "sh" like  shells it is changed here to
@@ -3920,6 +3921,42 @@
 #  endif
 # endif
     }
+    else if (strstr((char *)gettail(p_sh), "cmd.exe") != NULL)
+    {
+	int	idx3;
+
+	/*
+	 * cmd.exe on Windows will strip the first and last double quote given
+	 * on the command line, e.g. most of the time things like:
+	 *   cmd /c "my path/to/echo" "my args to echo"
+	 * become:
+	 *   my path/to/echo" "my args to echo
+	 * when executed.
+	 *
+	 * To avoid this, use the /s argument in addition to /c to force the
+	 * stripping behavior, and also set shellxquote to automatically
+	 * surround the entire command in quotes (which get stripped as
+	 * noted).
+	 */
+
+	/* Set shellxquote default to add the quotes to be stripped. */
+	idx3 = findoption((char_u *)"sxq");
+	if (idx3 >= 0 && !(options[idx3].flags & P_WAS_SET))
+	{
+	    p_sxq = (char_u *)"\"";
+	    options[idx3].def_val[VI_DEFAULT] = p_sxq;
+	}
+
+	/* Set shellcmdflag default to always strip the quotes, note the order
+	 * between /s and /c is important or cmd.exe will treat the /s as part
+	 * of the command to be executed.  */
+	idx3 = findoption((char_u *)"shcf");
+	if (idx3 >= 0 && !(options[idx3].flags & P_WAS_SET))
+	{
+	    p_shcf = (char_u *)"/s /c";
+	    options[idx3].def_val[VI_DEFAULT] = p_shcf;
+	}
+    }
 #endif
 
 #ifdef FEAT_TITLE
diff --git a/src/version.c b/src/version.c
index 35aa34c..2461456 100644
--- a/src/version.c
+++ b/src/version.c
@@ -715,6 +715,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    443,
+/**/
     442,
 /**/
     441,
