diff --git a/Modules/socketmodule.c b/Modules/socketmodule.c
index 92b8d4b..ef5967a 100644
--- a/Modules/socketmodule.c
+++ b/Modules/socketmodule.c
@@ -227,7 +227,7 @@
 #	define snprintf _snprintf
 #endif
 
-#if defined(PYOS_OS2)
+#if defined(PYOS_OS2) && !defined(PYCC_GCC)
 #define SOCKETCLOSE soclose
 #define NO_DUP /* Sockets are Not Actual File Handles under OS/2 */
 #endif
@@ -352,7 +352,7 @@
 	else
 #endif
 
-#if defined(PYOS_OS2)
+#if defined(PYOS_OS2) && !defined(PYCC_GCC)
     if (sock_errno() != NO_ERROR) {
         APIRET rc;
         ULONG  msglen;
@@ -931,7 +931,7 @@
 #else
 #ifndef RISCOS
 #ifndef MS_WINDOWS
-#ifdef PYOS_OS2
+#if defined(PYOS_OS2) && !defined(PYCC_GCC)
 	block = !block;
 	ioctl(s->sock_fd, FIONBIO, (caddr_t)&block, sizeof(block));
 #else /* !PYOS_OS2 */
@@ -1441,7 +1441,7 @@
 	memset(addrbuf, 0, addrlen);
 	n = recvfrom(s->sock_fd, PyString_AS_STRING(buf), len, flags,
 #ifndef MS_WINDOWS
-#if defined(PYOS_OS2)
+#if defined(PYOS_OS2) && !defined(PYCC_GCC)
 		     (struct sockaddr *)addrbuf, &addrlen
 #else
 		     (void *)addrbuf, &addrlen
@@ -2633,6 +2633,7 @@
 static int
 OS2init(void)
 {
+#if !defined(PYCC_GCC)
     char reason[64];
     int rc = sock_init();
 
@@ -2646,6 +2647,10 @@
     PyErr_SetString(PyExc_ImportError, reason);
 
     return 0;  /* Indicate Failure */
+#else
+    /* no need to initialise sockets with GCC/EMX */
+    return 1;
+#endif
 }
 
 #endif /* PYOS_OS2 */
@@ -2695,10 +2700,10 @@
 	if (!NTinit())
 		return;
 #else
-#if defined(__TOS_OS2__)
+#if defined(PYOS_OS2)
 	if (!OS2init())
 		return;
-#endif /* __TOS_OS2__ */
+#endif /* PYOS_OS2 */
 #endif /* MS_WINDOWS */
 #endif /* RISCOS */
 	PySocketSock_Type.ob_type = &PyType_Type;
