diff --git a/src/ChangeLog b/src/ChangeLog
index 926bc88c..4a807784 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,7 @@
+2005-06-26  Gisle Vanem  <giva@bgnett.no>
+
+	* mswindows.h: Define gai_strerror under MinGW.
+
 2005-06-26  Hrvoje Niksic  <hniksic@xemacs.org>
 
 	* utils.c (with_thousand_seps): Correctly implement thousand seps
diff --git a/src/mswindows.h b/src/mswindows.h
index 6542744c..177f39f9 100644
--- a/src/mswindows.h
+++ b/src/mswindows.h
@@ -176,6 +176,13 @@ int wrapped_closesocket (int);
 #endif
 const char *windows_strerror (int);
 
+/* MingW 3.7 (or older) prototypes gai_strerror(), but is missing
+   from all import libraries. */
+#if defined(__MINGW32__) && defined(ENABLE_IPV6)
+# undef gai_strerror
+# define gai_strerror windows_strerror
+#endif
+
 /* Declarations of various socket errors:  */
 
 #define EWOULDBLOCK             WSAEWOULDBLOCK