diff --git a/clientconn.go b/clientconn.go
index 0a9b2c65..8c793d69 100644
--- a/clientconn.go
+++ b/clientconn.go
@@ -1060,9 +1060,9 @@ func (cc *ClientConn) handleServiceConfig(js string) error {
 }
 
 func (cc *ClientConn) resolveNow(o resolver.ResolveNowOption) {
-	cc.mu.Lock()
+	cc.mu.RLock()
 	r := cc.resolverWrapper
-	cc.mu.Unlock()
+	cc.mu.RUnlock()
 	if r == nil {
 		return
 	}