diff --git a/src/backend/commands/vacuum.c b/src/backend/commands/vacuum.c
index 1c6793241b7e825686e2aff9365da5f3b1d1770c..c58515e5b6ad8bfb4a52a85a261e78ebed2b8360 100644
--- a/src/backend/commands/vacuum.c
+++ b/src/backend/commands/vacuum.c
@@ -7,7 +7,7 @@
  *
  *
  * IDENTIFICATION
- *	  $Header: /cvsroot/pgsql/src/backend/commands/vacuum.c,v 1.84 1998/10/07 22:31:50 momjian Exp $
+ *	  $Header: /cvsroot/pgsql/src/backend/commands/vacuum.c,v 1.85 1998/10/08 00:10:46 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -558,7 +558,6 @@ vc_vacone(Oid relid, bool analyze, List *va_cols)
 				vacrelstats->num_tuples, vacrelstats->hasindex, vacrelstats);
 
 	/* next command frees attribute stats */
-
 	CommitTransactionCommand();
 }
 
diff --git a/src/bin/psql/psql.c b/src/bin/psql/psql.c
index dfc91ee79437710fef716e68a18a6d42933b5c15..485ef54ecf54fa7eea70f10c4087461437f6eb15 100644
--- a/src/bin/psql/psql.c
+++ b/src/bin/psql/psql.c
@@ -7,7 +7,7 @@
  *
  *
  * IDENTIFICATION
- *	  $Header: /cvsroot/pgsql/src/bin/psql/Attic/psql.c,v 1.161 1998/09/21 02:25:23 momjian Exp $
+ *	  $Header: /cvsroot/pgsql/src/bin/psql/Attic/psql.c,v 1.162 1998/10/08 00:10:47 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -2724,18 +2724,6 @@ main(int argc, char **argv)
 
 	char	   *home = NULL;	/* Used to store $HOME */
 
-#ifdef WIN32
-	{
-		WSADATA		wsaData;
-
-		if (WSAStartup(MAKEWORD(1, 1), &wsaData))
-		{
-			fprintf(stderr, "Failed to start winsock: %i\n", WSAGetLastError());
-			exit(1);
-		}
-	}
-#endif
-
 	MemSet(&settings, 0, sizeof settings);
 	settings.opt.align = 1;
 	settings.opt.header = 1;
diff --git a/src/interfaces/libpq/libpqdll.c b/src/interfaces/libpq/libpqdll.c
index d8cb6b6a7479f715bac209414898039ef54f0848..5407c54e40912868d5df811eec7163d5d655228b 100644
--- a/src/interfaces/libpq/libpqdll.c
+++ b/src/interfaces/libpq/libpqdll.c
@@ -1,8 +1,25 @@
 #define WIN32_LEAN_AND_MEAN
 #include <windows.h>
+#include <winsock.h>
+
 BOOL		WINAPI
 DllMain(HINSTANCE hinstDLL, DWORD fdwReason,
 		LPVOID lpReserved)
 {
+	WSADATA wsaData;
+	switch (fdwReason) {
+		case DLL_PROCESS_ATTACH:
+			if (WSAStartup(MAKEWORD(1,1),&wsaData))
+			{
+				/* No really good way to do error handling here,
+				 * since we don't know how we were loaded */
+				return FALSE;
+			}
+			break;
+		case DLL_PROCESS_DETACH:
+			WSACleanup();
+			break;
+	}
+
 	return TRUE;
 }