diff --git a/src/modules/files/configure.in b/src/modules/files/configure.in
index a06b7c515fe31812f7844882758739aa89913633..ae1086db06deb070e199aa31dc2f03ef615f96f1 100644
--- a/src/modules/files/configure.in
+++ b/src/modules/files/configure.in
@@ -3,7 +3,7 @@ AC_CONFIG_HEADER(file_machine.h)
 
 sinclude(../module_configure.in)
 
-AC_HAVE_HEADERS(arpa/inet.h sys/socketvar.h netinet/in.h \
+AC_HAVE_HEADERS(sys/types.h arpa/inet.h sys/socketvar.h netinet/in.h \
  sys/mount.h ustat.h sys/statfs.h sys/statvfs.h sys/vfs.h \
  sys/socket.h sys/stream.h sys/protosw.h netdb.h )
 AC_HEADER_DIRENT
@@ -110,14 +110,18 @@ if test x$ac_cv_func_statfs = xyes ; then
   AC_MSG_CHECKING(if statfs takes 2(Standard) or 4(SGI) arguments)
   AC_CACHE_VAL(pike_cv_func_sgi_statfs, [
     AC_TRY_RUN([
-#ifdef HAVE_SYS_MOUNT_H
-#include <sys/mount.h>
+#ifdef HAVE_SYS_TYPES_H
+#include <sys/types.h>
+#endif
+#include <sys/stat.h>
+#ifdef HAVE_SYS_VFS_H
+#include <sys/vfs.h>
 #endif
 #ifdef HAVE_SYS_STATFS_H
 #include <sys/statfs.h>
 #endif
-#ifdef HAVE_SYS_VFS_H
-#include <sys/vfs.h>
+#ifdef HAVE_SYS_MOUNT_H
+#include <sys/mount.h>
 #endif
 
 int main()
@@ -143,14 +147,14 @@ int main()
 #include <sys/types.h>
 #endif
 #include <sys/stat.h>
-#ifdef HAVE_SYS_MOUNT_H
-#include <sys/mount.h>
+#ifdef HAVE_SYS_VFS_H
+#include <sys/vfs.h>
 #endif
 #ifdef HAVE_SYS_STATFS_H
 #include <sys/statfs.h>
 #endif
-#ifdef HAVE_SYS_VFS_H
-#include <sys/vfs.h>
+#ifdef HAVE_SYS_MOUNT_H
+#include <sys/mount.h>
 #endif
     ], [
       struct statfs st;