diff --git a/worker/agent.go b/worker/agent.go
index <HASH>..<HASH> 100644
--- a/worker/agent.go
+++ b/worker/agent.go
@@ -159,8 +159,9 @@ func (a *agent) reconnect() error {
 	a.conn = conn
 	a.rw = bufio.NewReadWriter(bufio.NewReader(a.conn),
 		bufio.NewWriter(a.conn))
-	a.grab()
+
 	a.worker.reRegisterFuncsForAgent(a)
+	a.grab()
 
 	go a.work()
 	return nil
fix worker reconnect errors, send cando after reconnection.

* fix worker reconnect errors, send cando after reconnection.