diff --git a/Common/vtkSocket.cxx b/Common/vtkSocket.cxx
index 43290fa..a0e248d 100644
--- a/Common/vtkSocket.cxx
+++ b/Common/vtkSocket.cxx
@@ -612,21 +612,23 @@ int vtkSocket::Receive(void* data, int length, int readFully/*=1*/)
       return 0;
       }
 
-#if defined(_WIN32) && !defined(__CYGWIN__)
-    if ((nRecvd == vtkSocketErrorReturnMacro)
-      && (WSAGetLastError() == WSAENOBUFS))
+    if (nRecvd == vtkSocketErrorReturnMacro)
       {
-      // On long messages, Windows recv sometimes fails with WSAENOBUFS, but
-      // will work if you try again.
-      if ((trys++ < 1000))
+#if defined(_WIN32) && !defined(__CYGWIN__)
+      if (WSAGetLastError() == WSAENOBUFS)
         {
-        Sleep(1);
-        continue;
+        // On long messages, Windows recv sometimes fails with WSAENOBUFS, but
+        // will work if you try again.
+        if ((trys++ < 1000))
+          {
+          Sleep(1);
+          continue;
+          }
         }
+#endif
       vtkSocketErrorMacro(vtkErrnoMacro, "Socket error in call to recv.");
       return 0;
       }
-#endif
 
     total += nRecvd;
     }
