diff --git a/src/backend/port/win32/socket.c b/src/backend/port/win32/socket.c
index 6b60a9f220..0a819e07ae 100644
--- a/src/backend/port/win32/socket.c
+++ b/src/backend/port/win32/socket.c
@@ -303,6 +303,7 @@ pgwin32_socket(int af, int type, int protocol)
 	if (ioctlsocket(s, FIONBIO, &on))
 	{
 		TranslateSocketError();
+		closesocket(s);
 		return INVALID_SOCKET;
 	}
 	errno = 0;