diff --git a/registry/zookeeper/registry.go b/registry/zookeeper/registry.go
index b9caba1a83da708bac0aa28678dbe8d4689bd064..ff57eb638aa8919720b9eeed1cb4603cc2928cf2 100644
--- a/registry/zookeeper/registry.go
+++ b/registry/zookeeper/registry.go
@@ -381,7 +381,7 @@ func (r *zkRegistry) registerTempZookeeperNode(root string, node string) error {
 	}
 	zkPath, err = r.client.RegisterTemp(root, node)
 	if err != nil {
-		if strings.Contains(err.Error(), "node already exists") {
+		if err == zk.ErrNodeExists {
 			logger.Warnf("RegisterTempNode(root{%s}, node{%s}) = error{%v}", root, node, perrors.WithStack(err))
 		} else {
 			logger.Errorf("RegisterTempNode(root{%s}, node{%s}) = error{%v}", root, node, perrors.WithStack(err))