diff --git a/src/globals.h b/src/globals.h
index 8750859..0bb7de5 100644
--- a/src/globals.h
+++ b/src/globals.h
@@ -1131,12 +1131,12 @@
 EXTERN char	breakat_flags[256];	/* which characters are in 'breakat' */
 #endif
 
-/* these are in version.c */
+/* These are in version.c, call init_longVersion() before use. */
 extern char *Version;
 #if defined(HAVE_DATE_TIME) && defined(VMS) && defined(VAXC)
 extern char longVersion[];
 #else
-extern char *longVersion;
+EXTERN char *longVersion;
 #endif
 
 /*
diff --git a/src/main.c b/src/main.c
index 66b67b8..8a598c5 100644
--- a/src/main.c
+++ b/src/main.c
@@ -940,10 +940,6 @@
     /* Init the table of Normal mode commands. */
     init_normal_cmds();
 
-#if defined(HAVE_DATE_TIME) && defined(VMS) && defined(VAXC)
-    make_version();	/* Construct the long version string. */
-#endif
-
     /*
      * Allocate space for the generic buffers (needed for set_init_1() and
      * EMSG2()).
@@ -3215,6 +3211,7 @@
     reset_signals();		/* kill us with CTRL-C here, if you like */
 #endif
 
+    init_longVersion();
     mch_errmsg(longVersion);
     mch_errmsg("\n");
     mch_errmsg(_(main_errors[n]));
@@ -3268,6 +3265,7 @@
     reset_signals();		/* kill us with CTRL-C here, if you like */
 #endif
 
+    init_longVersion();
     mch_msg(longVersion);
     mch_msg(_("\n\nUsage:"));
     for (i = 0; ; ++i)
diff --git a/src/proto/version.pro b/src/proto/version.pro
index cd44e8b..8139772 100644
--- a/src/proto/version.pro
+++ b/src/proto/version.pro
@@ -1,5 +1,5 @@
 /* version.c */
-void make_version(void);
+void init_longVersion(void);
 int highest_patch(void);
 int has_patch(int n);
 void ex_version(exarg_T *eap);
diff --git a/src/version.c b/src/version.c
index a38cdda..45f339b 100644
--- a/src/version.c
+++ b/src/version.c
@@ -37,7 +37,7 @@
 						      + sizeof(__TIME__) + 3];
 
     void
-make_version(void)
+init_longVersion(void)
 {
     /*
      * Construct the long version string.  Necessary because
@@ -49,8 +49,25 @@
     strcat(longVersion, __TIME__);
     strcat(longVersion, ")");
 }
+
 # else
-char	*longVersion = VIM_VERSION_LONG_DATE __DATE__ " " __TIME__ ")";
+    void
+init_longVersion(void)
+{
+    char *date_time = __DATE__ " " __TIME__;
+    char *msg = _("%s (%s, compiled %s)");
+    size_t len = strlen(msg)
+		+ strlen(VIM_VERSION_LONG_ONLY)
+		+ strlen(VIM_VERSION_DATE_ONLY)
+		+ strlen(date_time);
+
+    longVersion = (char *)alloc(len);
+    if (longVersion == NULL)
+	longVersion = VIM_VERSION_LONG;
+    else
+	vim_snprintf(longVersion, len, msg,
+		      VIM_VERSION_LONG_ONLY, VIM_VERSION_DATE_ONLY, date_time);
+}
 # endif
 #else
 char	*longVersion = VIM_VERSION_LONG;
@@ -762,6 +779,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    103,
+/**/
     102,
 /**/
     101,
@@ -1148,6 +1167,7 @@
      * When adding features here, don't forget to update the list of
      * internal variables in eval.c!
      */
+    init_longVersion();
     MSG(longVersion);
 #ifdef WIN3264
 # ifdef FEAT_GUI_W32
diff --git a/src/version.h b/src/version.h
index d3e575d..b94ab7e 100644
--- a/src/version.h
+++ b/src/version.h
@@ -36,5 +36,7 @@
 #define VIM_VERSION_NODOT	"vim81"
 #define VIM_VERSION_SHORT	"8.1"
 #define VIM_VERSION_MEDIUM	"8.1"
-#define VIM_VERSION_LONG	"VIM - Vi IMproved 8.1 (2018 May 17)"
-#define VIM_VERSION_LONG_DATE	"VIM - Vi IMproved 8.1 (2018 May 17, compiled "
+#define VIM_VERSION_LONG	"VIM - Vi IMproved 8.1 (2018 May 18)"
+#define VIM_VERSION_LONG_DATE	"VIM - Vi IMproved 8.1 (2018 May 18, compiled "
+#define VIM_VERSION_LONG_ONLY	"VIM - Vi IMproved 8.1"
+#define VIM_VERSION_DATE_ONLY	"2018 May 18"
