diff --git a/libavdevice/lavfi.c b/libavdevice/lavfi.c
index 9be2d0e7244f5645409914f4ab6eb86bacc06bf8..f96fe8352c211870f53b3269b2e5632fe1c63e6a 100644
--- a/libavdevice/lavfi.c
+++ b/libavdevice/lavfi.c
@@ -27,7 +27,6 @@
 
 #include <float.h>              /* DBL_MIN, DBL_MAX */
 #include <fcntl.h>              /* O_RDONLY */
-#include <unistd.h>             /* close() */
 
 #include "libavutil/bprint.h"
 #include "libavutil/channel_layout.h"
@@ -43,6 +42,10 @@
 #include "libavformat/internal.h"
 #include "avdevice.h"
 
+#if HAVE_UNISTD_H
+#include <unistd.h>             /* close() */
+#endif
+
 typedef struct {
     AVClass *class;          ///< class for private options
     char          *graph_str;
diff --git a/libavutil/bprint.c b/libavutil/bprint.c
index becb4d80135fdff85a0ec8555f4db361861a6666..4fd902ef74cddc7692efce49cc194bd90f04d32b 100644
--- a/libavutil/bprint.c
+++ b/libavutil/bprint.c
@@ -22,7 +22,6 @@
 #include <stdio.h>
 #include <string.h>
 #include <time.h>
-#include <unistd.h>
 #include "avassert.h"
 #include "avstring.h"
 #include "bprint.h"
@@ -31,6 +30,11 @@
 #include "error.h"
 #include "mem.h"
 
+#if HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+
+
 #define av_bprint_room(buf) ((buf)->size - FFMIN((buf)->len, (buf)->size))
 #define av_bprint_is_allocated(buf) ((buf)->str != (buf)->reserved_internal_buffer)