diff --git a/src/interfaces/libpq/fe-connect.c b/src/interfaces/libpq/fe-connect.c
index 8d9400b..bf8beb7 100644
*** /tmp/rgI5Ne_fe-connect.c	Sat Dec 18 11:21:07 2010
--- src/interfaces/libpq/fe-connect.c	Sat Dec 18 11:10:09 2010
*************** connectFailureMessage(PGconn *conn, int 
*** 1030,1049 ****
  		else
  			strcpy(host_addr, "???");
  
  		display_host_addr = (conn->pghostaddr == NULL) &&
! 							(conn->pghost != NULL) &&
! 							(strcmp(conn->pghost, host_addr) != 0);
  
  		appendPQExpBuffer(&conn->errorMessage,
  						  libpq_gettext("could not connect to server: %s\n"
  					 "\tIs the server running on host \"%s\"%s%s%s and accepting\n"
  										"\tTCP/IP connections on port %s?\n"),
  						  SOCK_STRERROR(errorno, sebuf, sizeof(sebuf)),
! 						  conn->pghostaddr
  						  ? conn->pghostaddr
! 						  : (conn->pghost
  							 ? conn->pghost
! 							 : "???"),
  						  /* display the IP address only if not already output */
  						  display_host_addr ? " (" : "",
  						  display_host_addr ? host_addr : "",
--- 1030,1054 ----
  		else
  			strcpy(host_addr, "???");
  
+ 		/*
+ 		 *	If the user did not supply an IP address using 'hostaddr', and
+ 		 *	'host' was missing or does not match our lookup, display the
+ 		 *	looked-up IP address.
+ 		 */
  		display_host_addr = (conn->pghostaddr == NULL) &&
! 							((conn->pghost == NULL) ||
! 							 (strcmp(conn->pghost, host_addr) != 0));
  
  		appendPQExpBuffer(&conn->errorMessage,
  						  libpq_gettext("could not connect to server: %s\n"
  					 "\tIs the server running on host \"%s\"%s%s%s and accepting\n"
  										"\tTCP/IP connections on port %s?\n"),
  						  SOCK_STRERROR(errorno, sebuf, sizeof(sebuf)),
! 						  (conn->pghostaddr && conn->pghostaddr[0] != '\0')
  						  ? conn->pghostaddr
! 						  : (conn->pghost && conn->pghost[0] != '\0')
  							 ? conn->pghost
! 							 : DefaultHost,
  						  /* display the IP address only if not already output */
  						  display_host_addr ? " (" : "",
  						  display_host_addr ? host_addr : "",
*************** connectDBStart(PGconn *conn)
*** 1304,1310 ****
  		UNIXSOCK_PATH(portstr, portnum, conn->pgunixsocket);
  #else
  		/* Without Unix sockets, default to localhost instead */
! 		node = "localhost";
  		hint.ai_family = AF_UNSPEC;
  #endif   /* HAVE_UNIX_SOCKETS */
  	}
--- 1309,1315 ----
  		UNIXSOCK_PATH(portstr, portnum, conn->pgunixsocket);
  #else
  		/* Without Unix sockets, default to localhost instead */
! 		node = DefaultHost;
  		hint.ai_family = AF_UNSPEC;
  #endif   /* HAVE_UNIX_SOCKETS */
  	}
*************** ldapServiceLookup(const char *purl, PQco
*** 3388,3394 ****
  	/* hostname */
  	hostname = url + strlen(LDAP_URL);
  	if (*hostname == '/')		/* no hostname? */
! 		hostname = "localhost"; /* the default */
  
  	/* dn, "distinguished name" */
  	p = strchr(url + strlen(LDAP_URL), '/');
--- 3393,3399 ----
  	/* hostname */
  	hostname = url + strlen(LDAP_URL);
  	if (*hostname == '/')		/* no hostname? */
! 		hostname = DefaultHost; /* the default */
  
  	/* dn, "distinguished name" */
  	p = strchr(url + strlen(LDAP_URL), '/');
