diff --git a/registry/base_registry.go b/registry/base_registry.go
index 530fedb4768abc6d96c6b131204223d5b2f8087f..3b64e93e2f6b5b58a70650f589dec3ca092376c1 100644
--- a/registry/base_registry.go
+++ b/registry/base_registry.go
@@ -286,8 +286,9 @@ func (r *BaseRegistry) consumerRegistry(c common.URL, params url.Values) (string
 
 	func() {
 		r.cltLock.Lock()
+		defer r.cltLock.Unlock()
 		err = r.facadeBasedRegistry.CreatePath(dubboPath)
-		r.cltLock.Unlock()
+
 	}()
 	if err != nil {
 		logger.Errorf("facadeBasedRegistry.CreatePath(path{%s}) = error{%v}", dubboPath, perrors.WithStack(err))