diff --git a/configure.in b/configure.in
index 66390b641be3f7aa011d72ea50e58e171d3e8e2c..4bb992191c25a37b33ecf25df3e87ad99622d4c9 100644
--- a/configure.in
+++ b/configure.in
@@ -368,12 +368,21 @@ dnl These headers are not essential
 AC_CHECK_HEADERS(stdint.h sys/types.h inttypes.h sys/param.h sys/wait.h limits.h sys/limits.h netinet/in.h arpa/inet.h machine/limits.h syslog.h sys/time.h sys/resource.h stddef.h inttypes.h utime.h sys/utime.h sys/mman.h alloca.h)
 
 AC_CHECK_HEADERS(net/if.h, [net_if_found=1], [net_if_found=0],
-[#ifdef HAVE_SYS_SOCKET_H
+[#ifdef HAVE_SYS_TYPES_H
+#include <sys/types.h>
+#endif
+#ifdef HAVE_SYS_SOCKET_H
 #include <sys/socket.h>
 #endif])
 AC_CHECK_HEADERS(net/pfvar.h, [net_pfvar_found=1], [net_pfvar_found=0],
-[#ifdef HAVE_SYS_SOCKET_H
+[#ifdef HAVE_SYS_TYPES_H
+#include <sys/types.h>
+#endif
+#ifdef HAVE_SYS_SOCKET_H
 #include <sys/socket.h>
+#endif
+#ifdef HAVE_NET_IF_H
+#include <net/if.h>
 #endif])
 AC_CHECK_HEADERS(linux/netfilter_ipv4.h,
         [linux_netfilter_ipv4=1], [linux_netfilter_ipv4=0],