diff --git a/ldap/pool.go b/ldap/pool.go
index 6d8093e93dccd5d333133633ab8958092a171355..c77d06177cb1b13ed8c7b71bc3facf07a015adc4 100644
--- a/ldap/pool.go
+++ b/ldap/pool.go
@@ -40,10 +40,12 @@ func (p *ConnectionPool) connect(ctx context.Context) (*ldap.Conn, error) {
 	conn := ldap.NewConn(c, false)
 	conn.Start()
 
-	conn.SetTimeout(time.Until(deadline))
-	if _, err = conn.SimpleBind(ldap.NewSimpleBindRequest(p.bindDN, p.bindPw, nil)); err != nil {
-		conn.Close()
-		return nil, err
+	if p.bindDN != "" {
+		conn.SetTimeout(time.Until(deadline))
+		if _, err = conn.SimpleBind(ldap.NewSimpleBindRequest(p.bindDN, p.bindPw, nil)); err != nil {
+			conn.Close()
+			return nil, err
+		}
 	}
 
 	return conn, err