diff --git a/ChangeLog b/ChangeLog
index d021b322c9dd26016270f45aabb7c621896e231c..bf86b0bbcf0d1fe242c7c3329bb7baa945a60c7b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -5,7 +5,8 @@
 	Needed for cross-compiling with --host=i586-mingw32msvc.
 
 	* examples/base16dec.c: Don't #include files using <nettle/...>,
-	we don't want to pick up installed versions.
+	we don't want to pick up installed versions. On windows, include
+	<fcntl.h>, needed for _setmode.
 	* examples/base16enc.c: Likewise.
 	* examples/base64dec.c: Likewise.
 	* examples/base64enc.c: Likewise
diff --git a/examples/base16dec.c b/examples/base16dec.c
index a8e681930e908af53cfe62a770358949887084d6..ece9fd64388796f27bcc9022674bf977deb79478 100644
--- a/examples/base16dec.c
+++ b/examples/base16dec.c
@@ -26,6 +26,9 @@
 #include <stdlib.h>
 #include <stdio.h>
 #include <string.h>
+#ifdef WIN32
+#include <fcntl.h>
+#endif
 
 #include "base16.h"
 
diff --git a/examples/base16enc.c b/examples/base16enc.c
index ab672c2382783b3e05e9bc50e395a564090a586e..f41247784dccca5caa41ba7a9096ee0d129268f3 100644
--- a/examples/base16enc.c
+++ b/examples/base16enc.c
@@ -26,6 +26,9 @@
 #include <stdlib.h>
 #include <stdio.h>
 #include <string.h>
+#ifdef WIN32
+#include <fcntl.h>
+#endif
 
 #include "base16.h"
 
diff --git a/examples/base64dec.c b/examples/base64dec.c
index e7f68bcedb870c32fac5fd6b40a49ab39b497f66..babe815278699625ed017d1f6e58234a974cc90e 100644
--- a/examples/base64dec.c
+++ b/examples/base64dec.c
@@ -26,6 +26,9 @@
 #include <stdlib.h>
 #include <stdio.h>
 #include <string.h>
+#ifdef WIN32
+#include <fcntl.h>
+#endif
 
 #include "base64.h"
 
diff --git a/examples/base64enc.c b/examples/base64enc.c
index bdd6f540e31c962d4e22c0babfbc7f1fbff9f6bb..6a891274f3fb8ed75cbe31f2425a8a6894a57dd0 100644
--- a/examples/base64enc.c
+++ b/examples/base64enc.c
@@ -26,6 +26,9 @@
 #include <stdlib.h>
 #include <stdio.h>
 #include <string.h>
+#ifdef WIN32
+#include <fcntl.h>
+#endif
 
 #include "base64.h"