diff --git a/libavformat/network.h b/libavformat/network.h
index 1dc9deb6758309c978fb395423fa09936216fa2d..3e4422e4c2ecf44f0c6e185c133a845c99ade773 100644
--- a/libavformat/network.h
+++ b/libavformat/network.h
@@ -27,6 +27,10 @@
 #include "libavutil/error.h"
 #include "os_support.h"
 
+#if HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+
 #if HAVE_WINSOCK2_H
 #include <winsock2.h>
 #include <ws2tcpip.h>
diff --git a/libavformat/sctp.c b/libavformat/sctp.c
index 07de4986d211fa5702359dbc5a25949b520797bd..7bcb5ae0a9ffa8e3228dc37da0dcb2540cb87d24 100644
--- a/libavformat/sctp.c
+++ b/libavformat/sctp.c
@@ -39,7 +39,6 @@
 
 #include <netinet/in.h>
 #include <netinet/sctp.h>
-#include <unistd.h>
 
 #include "config.h"
 
diff --git a/libavformat/tcp.c b/libavformat/tcp.c
index e77e4c5231e1118a1b352864c4854575050ce249..badc0ba9355c068d354fb419e3f3d784bf652392 100644
--- a/libavformat/tcp.c
+++ b/libavformat/tcp.c
@@ -20,7 +20,6 @@
  */
 #include "avformat.h"
 #include "libavutil/parseutils.h"
-#include <unistd.h>
 #include "internal.h"
 #include "network.h"
 #include "os_support.h"
diff --git a/libavformat/udp.c b/libavformat/udp.c
index 39db263e12c5738b7c60466585c5d788197f37af..71b445b187835e531b351d66e24009d4e68761b7 100644
--- a/libavformat/udp.c
+++ b/libavformat/udp.c
@@ -30,7 +30,6 @@
 #include "avio_internal.h"
 #include "libavutil/parseutils.h"
 #include "libavutil/avstring.h"
-#include <unistd.h>
 #include "internal.h"
 #include "network.h"
 #include "os_support.h"