diff --git a/remoting/zookeeper/listener.go b/remoting/zookeeper/listener.go
index 34c75fceae061bea38908ceeb6a9cccab926d63a..ece81eb226e6c83fa2077e097e17c903b3ddc94a 100644
--- a/remoting/zookeeper/listener.go
+++ b/remoting/zookeeper/listener.go
@@ -114,8 +114,9 @@ func (l *ZkEventListener) handleZkNodeEvent(zkPath string, children []string, li
 			content, _, err := l.client.Conn.Get(zkPath)
 			if err != nil {
 				logger.Errorf("Get new node path {%v} 's content error,message is  {%v}", zkPath, perrors.WithStack(err))
+			} else {
+				listener.DataChange(remoting.Event{Path: zkPath, Action: remoting.EventTypeUpdate, Content: string(content)})
 			}
-			listener.DataChange(remoting.Event{Path: zkPath, Action: remoting.EventTypeUpdate, Content: string(content)})
 
 		} else {
 			logger.Errorf("path{%s} child nodes changed, zk.Children() = error{%v}", zkPath, perrors.WithStack(err))