diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index d24a07d4dc3f1ad1bef8e8b7f2d957128ed66761..ee70230c08e736a1826ec2348d6ab521c7bf039e 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -1,3 +1,7 @@
+2010-04-18  Ozkan Sezer  <sezeroz@gmail.com>
+
+	* gsocket.h: Make sure that winsock2.h is included before windows.h.
+
 2010-04-17  Eric Botcazou  <ebotcazou@adacore.com>
 
 	* gcc-interface/utils2.c (build_unary_op) <ATTR_ADDR_EXPR>: Do not
diff --git a/gcc/ada/gsocket.h b/gcc/ada/gsocket.h
index ca016c921c0aaf2bc6163a9736203648ade1e29d..a8e6faa246725590242cebaedfa9fa914743b498 100644
--- a/gcc/ada/gsocket.h
+++ b/gcc/ada/gsocket.h
@@ -71,7 +71,6 @@
 
 #elif defined (WINNT)
 #define FD_SETSIZE 1024
-#include <windows.h>
 
 #ifdef __MINGW32__
 #include <winsock2.h>
@@ -160,6 +159,8 @@
 
 #endif
 
+#include <windows.h>
+
 #elif defined(VMS)
 #define FD_SETSIZE 4096
 #ifndef IN_RTS