diff --git a/CHANGES b/CHANGES
index df10c89..d481e6e 100644
--- a/CHANGES
+++ b/CHANGES
@@ -4,6 +4,14 @@
 
  Changes between 0.9.3a and 0.9.4
 
+  *) The -DPLATFORM="\"$(PLATFORM)\"" definition and the similar -DCFLAGS=...
+     (both in crypto/Makefile.ssl for use by crypto/cversion.c) caused
+     problems not only on Windows, but also on some Unix platforms.
+     To avoid problematic command lines, these definitions are now made
+     in auto-generated file crypto/buildinf.h, which also defines DATE
+     and thus replaces crypto/date.h.
+     [Bodo Moeller]
+
   *) MIPS III/IV assembler module is reimplemented.
      [Andy Polyakov]
 
diff --git a/Configure b/Configure
index 4b68a09..2bc2ad0 100755
--- a/Configure
+++ b/Configure
@@ -266,6 +266,8 @@
 "BC-16","bcc:::(unknown)::BN_LLONG DES_PTR RC4_INDEX SIXTEEN_BIT:::",
 
 # CygWin32
+# (Note: the real CFLAGS for Windows builds are defined by util/mk1mf.pl
+# and its library files in util/pl/*)
 "CygWin32", "gcc:-DTERMIOS -DL_ENDIAN -fomit-frame-pointer -O3 -m486 -Wall::::BN_LLONG $x86_gcc_des $x86_gcc_opts:",
 "Mingw32", "gcc:-DL_ENDIAN -fomit-frame-pointer -O3 -m486 -Wall::::BN_LLONG $x86_gcc_des $x86_gcc_opts:",
 
@@ -686,16 +688,14 @@
 print "BF_PTR2 used\n" if $bf_ptr == 2; 
 
 if($IsWindows) {
-	open (OUT,">crypto/date.h") || die "Can't open date.h";
-	printf OUT "#define DATE \"%s\"\n", scalar gmtime();
-	printf OUT <<EOF; # Kludge -- usually those are passed on the command line
-#ifndef CFLAGS
+	open (OUT,">crypto/buildinf.h") || die "Can't open buildinf.h";
+	printf OUT <<EOF;
+/* auto-generated by Configure for crypto/cversion.c */
+/* (Unix builds: auto-generated by crypto/Makefile.ssl) */
 #define CFLAGS "$cc $cflags"
-#endif
-#ifndef PLATFORM
 #define PLATFORM "$target"
-#endif
 EOF
+	printf OUT "#define DATE \"%s\"\n", scalar gmtime();
 	close(OUT);
 	system "perl crypto/objects/obj_dat.pl <crypto/objects/objects.h >crypto/objects/obj_dat.h";
 } else {
diff --git a/crypto/Makefile.ssl b/crypto/Makefile.ssl
index fce1368..e8940de 100644
--- a/crypto/Makefile.ssl
+++ b/crypto/Makefile.ssl
@@ -20,7 +20,7 @@
 PEX_LIBS=
 EX_LIBS=
  
-CFLAGS= $(INCLUDE) $(CFLAG) -DCFLAGS="\"$(CC) $(CFLAG)\"" -DPLATFORM="\"$(PLATFORM)\""
+CFLAGS= $(INCLUDE) $(CFLAG)
 
 
 LIBS=
@@ -40,17 +40,21 @@
 SRC= $(LIBSRC)
 
 EXHEADER= crypto.h tmdiff.h opensslv.h opensslconf.h ebcdic.h
-HEADER=	cryptlib.h date.h $(EXHEADER)
+HEADER=	cryptlib.h buildinf.h $(EXHEADER)
 
 ALL=    $(GENERAL) $(SRC) $(HEADER)
 
 top:
 	@(cd ..; $(MAKE) DIRS=$(DIR) all)
 
-all: date.h lib subdirs
+all: buildinf.h lib subdirs
 
-date.h: ../Makefile.ssl
-	echo "#define DATE \"`date`\"" >date.h
+buildinf.h: ../Makefile.ssl
+	( echo "/* auto-generated by crypto/Makefile.ssl for crypto/cversion.c */"; \
+	echo "/* (Windows builds: auto-generated by Configure) */"; \
+	echo "#define CFLAGS \"$(CC) $(CFLAG)\""; \
+	echo "#define PLATFORM \"$(PLATFORM)\""; \
+	echo "#define DATE \"`date`\"" ) >buildinf.h
 
 subdirs:
 	@for i in $(SDIRS) ;\
@@ -125,7 +129,7 @@
 	done;
 
 clean:
-	rm -f date.h *.o */*.o *.obj lib tags core .pure .nfs* *.old *.bak fluff
+	rm -f buildinf.h date.h *.o */*.o *.obj lib tags core .pure .nfs* *.old *.bak fluff
 	@for i in $(SDIRS) ;\
 	do \
 	(cd $$i; echo "making clean in crypto/$$i..."; \
@@ -149,12 +153,12 @@
 cryptlib.o: ../include/openssl/crypto.h ../include/openssl/e_os.h
 cryptlib.o: ../include/openssl/e_os2.h ../include/openssl/err.h
 cryptlib.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
-cryptlib.o: ../include/openssl/stack.h cryptlib.h date.h
+cryptlib.o: ../include/openssl/stack.h cryptlib.h
 cversion.o: ../include/openssl/bio.h ../include/openssl/buffer.h
 cversion.o: ../include/openssl/crypto.h ../include/openssl/e_os.h
 cversion.o: ../include/openssl/e_os2.h ../include/openssl/err.h
 cversion.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
-cversion.o: ../include/openssl/stack.h cryptlib.h date.h
+cversion.o: ../include/openssl/stack.h buildinf.h cryptlib.h
 ex_data.o: ../include/openssl/bio.h ../include/openssl/buffer.h
 ex_data.o: ../include/openssl/crypto.h ../include/openssl/e_os.h
 ex_data.o: ../include/openssl/e_os2.h ../include/openssl/err.h
diff --git a/crypto/cryptlib.c b/crypto/cryptlib.c
index d70a570..356c476 100644
--- a/crypto/cryptlib.c
+++ b/crypto/cryptlib.c
@@ -60,7 +60,6 @@
 #include <string.h>
 #include "cryptlib.h"
 #include <openssl/crypto.h>
-#include "date.h"
 
 #if defined(WIN32) || defined(WIN16)
 static double SSLeay_MSVC5_hack=0.0; /* and for VC1.5 */
diff --git a/crypto/cversion.c b/crypto/cversion.c
index 959b261..72af476 100644
--- a/crypto/cversion.c
+++ b/crypto/cversion.c
@@ -60,7 +60,7 @@
 #include <string.h>
 #include "cryptlib.h"
 #include <openssl/crypto.h>
-#include "date.h"
+#include "buildinf.h"
 
 const char *SSLeay_version(int t)
 	{
