diff --git a/src/eval.c b/src/eval.c
index aff6152..40fcfef 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -11736,6 +11736,9 @@
 #ifdef FEAT_SNIFF
 	"sniff",
 #endif
+#ifdef STARTUPTIME
+	"startuptime",
+#endif
 #ifdef FEAT_STL_OPT
 	"statusline",
 #endif
diff --git a/src/main.c b/src/main.c
index 5bb81a6..13707ce 100644
--- a/src/main.c
+++ b/src/main.c
@@ -204,9 +204,9 @@
 #ifdef STARTUPTIME
     for (i = 1; i < argc; ++i)
     {
-	if (STRNICMP(argv[i], "--startuptime=", 14) == 0)
+	if (STRICMP(argv[i], "--startuptime") == 0 && i + 1 < argc)
 	{
-	    time_fd = mch_fopen(argv[i] + 14, "a");
+	    time_fd = mch_fopen(argv[i + 1], "a");
 	    TIME_MSG("--- VIM STARTING ---");
 	    break;
 	}
@@ -1726,6 +1726,11 @@
 		    want_argument = TRUE;
 		    argv_idx += 3;
 		}
+		else if (STRNICMP(argv[0] + argv_idx, "startuptime", 11) == 0)
+		{
+		    want_argument = TRUE;
+		    argv_idx += 11;
+		}
 #ifdef FEAT_CLIENTSERVER
 		else if (STRNICMP(argv[0] + argv_idx, "serverlist", 10) == 0)
 		    ; /* already processed -- no arg */
@@ -1761,10 +1766,6 @@
 		    /* already processed, skip */
 		}
 #endif
-		else if (STRNICMP(argv[0] + argv_idx, "startuptime", 11) == 0)
-		{
-		    /* already processed, skip */
-		}
 		else
 		{
 		    if (argv[0][argv_idx])
@@ -2061,7 +2062,7 @@
 		    mainerr(ME_GARBAGE, (char_u *)argv[0]);
 
 		--argc;
-		if (argc < 1 && c != 'S')
+		if (argc < 1 && c != 'S')  /* -S has an optional argument */
 		    mainerr_arg_missing((char_u *)argv[0]);
 		++argv;
 		argv_idx = -1;
@@ -2102,11 +2103,16 @@
 							    (char_u *)argv[0];
 		    break;
 
-		case '-':	/* "--cmd {command}" execute command */
-		    if (parmp->n_pre_commands >= MAX_ARG_CMDS)
-			mainerr(ME_EXTRA_CMD, NULL);
-		    parmp->pre_commands[parmp->n_pre_commands++] =
+		case '-':
+		    if (argv[-1][2] == 'c')
+		    {
+			/* "--cmd {command}" execute command */
+			if (parmp->n_pre_commands >= MAX_ARG_CMDS)
+			    mainerr(ME_EXTRA_CMD, NULL);
+			parmp->pre_commands[parmp->n_pre_commands++] =
 							    (char_u *)argv[0];
+		    }
+		    /* "--startuptime <file>" already handled */
 		    break;
 
 	    /*	case 'd':   -d {device} is handled in mch_check_win() for the
@@ -3144,6 +3150,9 @@
     main_msg(_("--serverlist\t\tList available Vim server names and exit"));
     main_msg(_("--servername <name>\tSend to/become the Vim server <name>"));
 #endif
+#ifdef STARTUPTIME
+    main_msg(_("--startuptime=<file>\tWrite startup timing messages to <file>"));
+#endif
 #ifdef FEAT_VIMINFO
     main_msg(_("-i <viminfo>\t\tUse <viminfo> instead of .viminfo"));
 #endif
diff --git a/src/version.c b/src/version.c
index fbb9f44..15ffd8e 100644
--- a/src/version.c
+++ b/src/version.c
@@ -494,6 +494,11 @@
 #else
 	"-sniff",
 #endif
+#ifdef STARTUPTIME
+	"+startuptime",
+#else
+	"-startuptime",
+#endif
 #ifdef FEAT_STL_OPT
 	"+statusline",
 #else
@@ -677,6 +682,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    286,
+/**/
     285,
 /**/
     284,
