diff --git a/src/option.c b/src/option.c
index ba17c11..a59beed 100644
--- a/src/option.c
+++ b/src/option.c
@@ -3696,9 +3696,32 @@
      * Isolate the name of the shell:
      * - Skip beyond any path.  E.g., "/usr/bin/csh -f" -> "csh -f".
      * - Remove any argument.  E.g., "csh -f" -> "csh".
+     * But don't allow a space in the path, so that this works:
+     *   "/usr/bin/csh --rcfile ~/.cshrc"
+     * But don't do that for Windows, it's common to have a space in the path.
      */
+#ifdef WIN3264
     p = gettail(p_sh);
     p = vim_strnsave(p, (int)(skiptowhite(p) - p));
+#else
+    p = skiptowhite(p_sh);
+    if (*p == NUL)
+    {
+	/* No white space, use the tail. */
+	p = vim_strsave(gettail(p_sh));
+    }
+    else
+    {
+	char_u  *p1, *p2;
+
+	/* Find the last path separator before the space. */
+	p1 = p_sh;
+	for (p2 = p_sh; p2 < p; mb_ptr_adv(p2))
+	    if (vim_ispathsep(*p2))
+		p1 = p2 + 1;
+	p = vim_strnsave(p1, (int)(p - p1));
+    }
+#endif
     if (p != NULL)
     {
 	/*
diff --git a/src/version.c b/src/version.c
index a20d102..1f1263b 100644
--- a/src/version.c
+++ b/src/version.c
@@ -682,6 +682,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    417,
+/**/
     416,
 /**/
     415,
