diff --git a/CHANGES b/CHANGES
index 03c97ce5ff799ba7a9c9448fd3e21d2e927b4167..9887b01055fa57c4e48911b2b38a07d0c509c92a 100644
--- a/CHANGES
+++ b/CHANGES
@@ -5,6 +5,7 @@ OpenLDAP 2.4.20 Engineering
 	Fixed liblber embedded NUL values in BerValues (ITS#6353)
 	Fixed liblber inverted LBER_USE_DER test (ITS#6348)
 	Fixed liblber to return failure on certain failures (ITS#6344)
+	Fixed libldap connection initialization (ITS#6386)
 	Fixed libldap sasl buffer sizing (ITS#6327,ITS#6334)
 	Fixed libldap uninitialized return value (ITS#6355)
 	Fixed libldap unlimited timeout (ITS#6388)
diff --git a/libraries/libldap/open.c b/libraries/libldap/open.c
index c2b4818d9cfeb23b0f14110c10d8cb8756a4112b..85a22be4fc6c96561146495e2dadd7c64436333d 100644
--- a/libraries/libldap/open.c
+++ b/libraries/libldap/open.c
@@ -271,6 +271,7 @@ ldap_init_fd(
 		ldap_unbind_ext( ld, NULL, NULL );
 		return( LDAP_NO_MEMORY );
 	}
+	conn->lconn_server = ldap_url_dup( ld->ld_options.ldo_defludp );
 	ber_sockbuf_ctrl( conn->lconn_sb, LBER_SB_OPT_SET_FD, &fd );
 	ld->ld_defconn = conn;
 	++ld->ld_defconn->lconn_refcnt;	/* so it never gets closed/freed */