diff --git a/ChangeLog b/ChangeLog
index dfb8c82413df0f7f9fab4537c93dcef7606ec378..7309b7ffcb3bd37a7ce36424bb9fc4d04d3b6c54 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 2011-11-24  Niels M�ller  <nisse@lysator.liu.se>
 
+	* configure.ac (HAVE_NATIVE_64_BIT): Workaround to get it set to 1
+	on w64.
+
 	* serpent-internal.h (ROL64): Use (uint64_t) 1 rather than 1L, for
 	systems. Needed for M$ w64.
 	(RSHIFT64): Likewise. Also added a missing parenthesis.
diff --git a/configure.ac b/configure.ac
index 3849947c2fc12b53c7389990715d751fb456d262..3b2a3e6a08fdc5a0f7bd0176d66f484362292797 100644
--- a/configure.ac
+++ b/configure.ac
@@ -579,7 +579,7 @@ if test x$enable_openssl = xyes ; then
 fi
 
 AH_TEMPLATE([WITH_OPENSSL],
-	    [Define if you have openssl's libcrypto (used for benchmarking)])
+	    [Define if you have openssl's libcrypto (used for benchmarking)]) dnl'
 
 if test x$enable_openssl = xyes ; then
   AC_DEFINE(WITH_OPENSSL)
@@ -587,10 +587,13 @@ fi
 
 AC_SUBST(OPENSSL_LIBFLAGS)
 
-# Choose strategy for Camellia round
 AH_BOTTOM(
-[/* Needs include of <limits.h> before use. */
-#define HAVE_NATIVE_64_BIT (SIZEOF_LONG * CHAR_BIT >= 64)
+[#if defined(__x86_64__) || defined(__arch64__)
+# define HAVE_NATIVE_64_BIT 1
+#else
+/* Needs include of <limits.h> before use. */
+# define HAVE_NATIVE_64_BIT (SIZEOF_LONG * CHAR_BIT >= 64)
+#endif
 ])
 
 # clock_gettime is in librt on *-*-osf5.1 and on glibc, so add -lrt to