diff --git a/src/auto/configure b/src/auto/configure
index d958964..da57bd0 100755
--- a/src/auto/configure
+++ b/src/auto/configure
@@ -13039,13 +13039,14 @@
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for timer_create" >&5
 $as_echo_n "checking for timer_create... " >&6; }
-save_LIBS="$LIBS"
+if ${vim_cv_timer_create+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  save_LIBS="$LIBS"
 LIBS="$LIBS -lrt"
 if test "$cross_compiling" = yes; then :
-  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot run test program while cross compiling
-See \`config.log' for more details" "$LINENO" 5; }
+  as_fn_error $? "cross-compiling: please set 'vim_cv_timer_create'" "$LINENO" 5
+
 else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
@@ -13072,9 +13073,8 @@
 }
 _ACEOF
 if ac_fn_c_try_run "$LINENO"; then :
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes; with -lrt" >&5
-$as_echo "yes; with -lrt" >&6; }; $as_echo "#define HAVE_TIMER_CREATE 1" >>confdefs.h
-
+  { $as_echo "$as_me:${as_lineno-$LINENO}: timer_create with -lrt" >&5
+$as_echo "$as_me: timer_create with -lrt" >&6;}; vim_cv_timer_create=yes
 else
   LIBS="$save_LIBS"
   if test "$cross_compiling" = yes; then :
@@ -13108,12 +13108,9 @@
 }
 _ACEOF
 if ac_fn_c_try_run "$LINENO"; then :
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }; $as_echo "#define HAVE_TIMER_CREATE 1" >>confdefs.h
-
+  vim_cv_timer_create=yes
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  vim_cv_timer_create=no
 fi
 rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
   conftest.$ac_objext conftest.beam conftest.$ac_ext
@@ -13125,6 +13122,16 @@
 fi
 
 
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $vim_cv_timer_create" >&5
+$as_echo "$vim_cv_timer_create" >&6; }
+
+if test "x$vim_cv_timer_create" = "xyes" ; then
+  $as_echo "#define HAVE_TIMER_CREATE 1" >>confdefs.h
+
+fi
+
+
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stat() ignores a trailing slash" >&5
 $as_echo_n "checking whether stat() ignores a trailing slash... " >&6; }
 if ${vim_cv_stat_ignores_slash+:} false; then :
diff --git a/src/configure.ac b/src/configure.ac
index 58d5d8e..c393574 100644
--- a/src/configure.ac
+++ b/src/configure.ac
@@ -3807,7 +3807,7 @@
 dnl Check for timer_create. It probably requires the 'rt' library.
 dnl Run the program to find out if timer_create(CLOCK_MONOTONIC) actually
 dnl works, on Solaris timer_create() exists but fails at runtime.
-AC_MSG_CHECKING([for timer_create])
+AC_CACHE_CHECK([for timer_create], [vim_cv_timer_create],
 save_LIBS="$LIBS"
 LIBS="$LIBS -lrt"
 AC_RUN_IFELSE([AC_LANG_PROGRAM([
@@ -3824,7 +3824,7 @@
   if (timer_create(CLOCK_MONOTONIC, &action, &timer_id) < 0)
     exit(1);  // cannot create a monotonic timer
   ])],
-  AC_MSG_RESULT(yes; with -lrt); AC_DEFINE(HAVE_TIMER_CREATE),
+  AC_MSG_NOTICE(timer_create with -lrt); vim_cv_timer_create=yes,
   LIBS="$save_LIBS"
   AC_RUN_IFELSE([AC_LANG_PROGRAM([
 #include<signal.h>
@@ -3840,8 +3840,16 @@
     if (timer_create(CLOCK_MONOTONIC, &action, &timer_id) < 0)
       exit(1);  // cannot create a monotonic timer
     ])],
-    AC_MSG_RESULT(yes); AC_DEFINE(HAVE_TIMER_CREATE),
-    AC_MSG_RESULT(no)))
+    vim_cv_timer_create=yes,
+    vim_cv_timer_create=no),
+    AC_MSG_ERROR(cross-compiling: please set 'vim_cv_timer_create')
+    )
+)
+
+if test "x$vim_cv_timer_create" = "xyes" ; then
+  AC_DEFINE(HAVE_TIMER_CREATE)
+fi
+
 
 AC_CACHE_CHECK([whether stat() ignores a trailing slash], [vim_cv_stat_ignores_slash],
   [
diff --git a/src/version.c b/src/version.c
index 7534c23..364a071 100644
--- a/src/version.c
+++ b/src/version.c
@@ -736,6 +736,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    65,
+/**/
     64,
 /**/
     63,
