diff --git a/ChangeLog b/ChangeLog
index e40a4e78..3b6e00b7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2002-05-20  Hrvoje Niksic  <hniksic@arsdigita.com>
+
+	* windows/config.h.ms: Ditto.
+
+	* windows/config.h.bor: Don't #define __STDC__.
+
 2002-05-18  Hrvoje Niksic  <hniksic@arsdigita.com>
 
 	* ALL: Update the license to reflect the OpenSSL exception.
diff --git a/src/ChangeLog b/src/ChangeLog
index c0fd1664..22fd418d 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,7 @@
+2002-05-20  Hrvoje Niksic  <hniksic@arsdigita.com>
+
+	* log.c: Don't #undef WGET_USE_STDARG.
+
 2002-05-16  Hrvoje Niksic  <hniksic@arsdigita.com>
 
 	* hash.c (prime_size): Store the offset of the prime number in the
diff --git a/src/log.c b/src/log.c
index e3e697b0..0ac45b76 100644
--- a/src/log.c
+++ b/src/log.c
@@ -29,15 +29,18 @@ so, delete this exception statement from your version.  */
 
 #include <config.h>
 
+/* This allows the architecture-specific .h files to specify the use
+   of stdargs regardless of __STDC__.  */
+#ifndef WGET_USE_STDARG
 /* Use stdarg only if the compiler supports ANSI C and stdarg.h is
    present.  We check for both because there are configurations where
    stdarg.h exists, but doesn't work. */
-#undef WGET_USE_STDARG
-#ifdef __STDC__
-# ifdef HAVE_STDARG_H
-#  define WGET_USE_STDARG
+# ifdef __STDC__
+#  ifdef HAVE_STDARG_H
+#   define WGET_USE_STDARG
+#  endif
 # endif
-#endif
+#endif /* not WGET_USE_STDARG */
 
 #include <stdio.h>
 #ifdef HAVE_STRING_H
diff --git a/src/mswindows.h b/src/mswindows.h
index 52a42e59..9a7a97f0 100644
--- a/src/mswindows.h
+++ b/src/mswindows.h
@@ -65,6 +65,10 @@ so, delete this exception statement from your version.  */
 #endif
 #endif
 
+/* Use ANSI-style stdargs regardless of whether the compiler bothers
+   to define __STDC__.  (Many don't when extensions are enabled.)  */
+#define WGET_USE_STDARG
+
 #define REALCLOSE(x) closesocket (x)
 
 /* read & write don't work with sockets on Windows 95.  */
diff --git a/windows/config.h.bor b/windows/config.h.bor
index ce2fb025..53e60753 100644
--- a/windows/config.h.bor
+++ b/windows/config.h.bor
@@ -29,12 +29,6 @@
 #ifndef CONFIG_H
 #define CONFIG_H
 
-/* Borland C does not define __STDC__ when the Borland extensions are
-   enabled, but you need those extensions to compile <windows.h>.  */
-#if !defined(__STDC__) && defined(__BORLANDC__)
-# define __STDC__ 1
-#endif
-
 #define HAVE_MEMMOVE
 #define ftruncate chsize
 #define inline __inline
diff --git a/windows/config.h.ms b/windows/config.h.ms
index 27aba587..32e94dfe 100644
--- a/windows/config.h.ms
+++ b/windows/config.h.ms
@@ -29,19 +29,6 @@
 #ifndef CONFIG_H
 #define CONFIG_H
 
-/* MS Visual C does not define __STDC__ when the MSC extensions are
-   enabled, but you need those extensions to compile <windows.h>.  */
-#if !defined(__STDC__) && defined(_MSC_EXTENSIONS)
-# define __STDC__ 1
-#endif
-
-/* Setting __STDC__ causes MSVC to break other stuff... */
-#if __STDC__ && defined(_MSC_VER)
-# define utimbuf _utimbuf
-# define O_RDONLY _O_RDONLY
-# define alloca _alloca
-#endif
-
 /* Define if you have the <alloca.h> header file.  */
 #undef HAVE_ALLOCA_H