diff --git a/configure.ac b/configure.ac
index 1c4aa5b6c4595997ec82adf70a229181647e1bcb..4b886cdd11c2fb6aab0f98b95d64ba0d5dc49034 100644
--- a/configure.ac
+++ b/configure.ac
@@ -174,7 +174,7 @@ AC_SEARCH_LIBS([adler32], [z])
 
 # Checks for header files.
 AC_HEADER_RESOLV
-AC_CHECK_HEADERS_ONCE([cap-ng.h netinet/in_systm.h pthread_np.h signal.h sys/select.h sys/time.h sys/wait.h])
+AC_CHECK_HEADERS_ONCE([cap-ng.h netinet/in_systm.h pthread_np.h signal.h sys/select.h sys/time.h sys/wait.h sys/uio.h])
 
 # Checks for typedefs, structures, and compiler characteristics.
 AC_C_INLINE
diff --git a/src/knot/server/udp-handler.c b/src/knot/server/udp-handler.c
index 5929a467d53d9a7e9d902421213fda6ddc2240ff..a3b8bae58da07a3609418a8fafd56ac6d6ce717b 100644
--- a/src/knot/server/udp-handler.c
+++ b/src/knot/server/udp-handler.c
@@ -34,6 +34,9 @@
 #include <errno.h>
 #include <limits.h>
 #include <sys/param.h>
+#ifdef HAVE_SYS_UIO_H /* 'struct iovec' for OpenBSD */
+#include <sys/uio.h>
+#endif /* HAVE_SYS_UIO_H */
 #ifdef HAVE_CAP_NG_H
 #include <cap-ng.h>
 #endif /* HAVE_CAP_NG_H */