diff --git a/ChangeLog b/ChangeLog
index 942f6cb1370a979fb9dce86dba9c3ff99c1286bb..852af17a1673757787bb23028f6a85e771ea719e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
 2015-12-18  Niels Möller  <nisse@lysator.liu.se>
 
+	* testsuite/testutils.h: Fix include order, system headers before
+	nettle headers. Always include version.h, needed by
+	version-test.c. It was included indirectly via bignum.h, but only
+	if configured with publickey support.
+
 	* configure.ac (IF_DLOPEN_TEST): Fixed shell conditional.
 
 	* testsuite/ecc-mod-test.c (test_main): Handle random seeding if
diff --git a/testsuite/testutils.h b/testsuite/testutils.h
index 405f89f6ab77e03fd837c4cd10939e23eb107883..58786b6553c37892f41d7dc1d7a52afa663cd6cb 100644
--- a/testsuite/testutils.h
+++ b/testsuite/testutils.h
@@ -1,17 +1,20 @@
 #ifndef NETTLE_TESTUTILS_H_INCLUDED
 #define NETTLE_TESTUTILS_H_INCLUDED
 
+/* config.h should usually be first in each .c file. This is an
+   exception, include it here to reduce clutter in the test cases. */
 #if HAVE_CONFIG_H
 # include "config.h"
 #endif
 
-#include "nettle-types.h"
-
 #include <stdarg.h>
 #include <stdlib.h>
 #include <stdio.h>
 #include <string.h>
 
+#include "nettle-types.h"
+#include "version.h"
+
 #if WITH_HOGWEED
 # include "rsa.h"
 # include "dsa-compat.h"