diff --git a/remoting/zookeeper/listener.go b/remoting/zookeeper/listener.go
index 6c8b1720a728f6bf4441450d04215f919deb2efe..eaf259f4417201c95172e95d7a87476575e004d5 100644
--- a/remoting/zookeeper/listener.go
+++ b/remoting/zookeeper/listener.go
@@ -249,6 +249,7 @@ func (l *ZkEventListener) listenDirEvent(zkPath string, listener remoting.DataLi
 				continue
 			}
 			logger.Infof("listen dubbo service key{%s}", dubboPath)
+			l.wg.Add(1)
 			go func(zkPath string, listener remoting.DataListener) {
 				if l.ListenServiceNodeEvent(zkPath) {
 					listener.DataChange(remoting.Event{Path: zkPath, Action: remoting.EventTypeDel})