diff --git a/registry/zookeeper/registry.go b/registry/zookeeper/registry.go
index 9bdfc961238c1142f305a1e6b294cca1f15f7a38..1bae7b20ae4e962d4436b2d2c25889417efef2e3 100644
--- a/registry/zookeeper/registry.go
+++ b/registry/zookeeper/registry.go
@@ -189,7 +189,6 @@ LOOP:
 					for _, confIf = range r.services {
 						services = append(services, confIf)
 					}
-					r.cltLock.Unlock()
 
 					flag = true
 					for _, confIf = range services {
@@ -201,6 +200,7 @@ LOOP:
 							break
 						}
 					}
+					r.cltLock.Unlock()
 					if flag {
 						break
 					}