diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index 24ed9ecdd..b999c27d1 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,3 +1,9 @@
+2005-08-08  Corinna Vinschen  <corinna@vinschen.de>
+
+	* ftw.c: Include winsup.h.
+	* nftw.c: Ditto.
+	* include/ftw.h: Guard declarations appropriately.
+
 2005-08-08  Corinna Vinschen  <corinna@vinschen.de>
 
 	* Makefile.in (DLL_OFILES): Add fts.o, ftw.o, nftw.o.
diff --git a/winsup/cygwin/include/ftw.h b/winsup/cygwin/include/ftw.h
index 20f24bdba..f57cc091b 100644
--- a/winsup/cygwin/include/ftw.h
+++ b/winsup/cygwin/include/ftw.h
@@ -54,9 +54,17 @@ struct FTW {
 };
 
 __BEGIN_DECLS
+#ifdef __INSIDE_CYGWIN__
 int	ftw(const char *, int (*)(const char *, const struct __stat64 *, int), int);
 int	nftw(const char *, int (*)(const char *, const struct __stat64 *, int,
 	    struct FTW *), int, int);
+#elif defined (__CYGWIN__) && !defined (__CYGWIN_USE_BIG_TYPES__)
+	#error "ftw requires __CYGWIN_USE_BIG_TYPES__"
+#else
+int	ftw(const char *, int (*)(const char *, const struct stat *, int), int);
+int	nftw(const char *, int (*)(const char *, const struct stat *, int,
+	    struct FTW *), int, int);
+#endif
 __END_DECLS
 
 #endif	/* !_FTW_H */
diff --git a/winsup/cygwin/libc/ftw.c b/winsup/cygwin/libc/ftw.c
index 6f84898df..2589e5b4f 100644
--- a/winsup/cygwin/libc/ftw.c
+++ b/winsup/cygwin/libc/ftw.c
@@ -26,6 +26,9 @@ static const char rcsid[] = "$OpenBSD: ftw.c,v 1.4 2004/07/07 16:05:23 millert E
 #endif /* LIBC_SCCS and not lint */
 #endif
 
+#ifdef __CYGWIN__
+#include "winsup.h"
+#endif
 #include <sys/cdefs.h>
 #if 0
 __FBSDID("$FreeBSD: /repoman/r/ncvs/src/lib/libc/gen/ftw.c,v 1.4 2004/08/24 13:00:55 tjr Exp $");
diff --git a/winsup/cygwin/libc/nftw.c b/winsup/cygwin/libc/nftw.c
index c56e19ebb..f7c06b29d 100644
--- a/winsup/cygwin/libc/nftw.c
+++ b/winsup/cygwin/libc/nftw.c
@@ -26,6 +26,9 @@ static const char rcsid[] = "$OpenBSD: nftw.c,v 1.4 2004/07/07 16:05:23 millert
 #endif /* LIBC_SCCS and not lint */
 #endif
 
+#ifdef __CYGWIN__
+#include "winsup.h"
+#endif
 #include <sys/cdefs.h>
 #if 0
 __FBSDID("$FreeBSD: /repoman/r/ncvs/src/lib/libc/gen/nftw.c,v 1.1.2.1 2004/08/29 06:10:53 tjr Exp $");