diff --git a/miner/remote_agent.go b/miner/remote_agent.go
index aa04a58aa9d5cd0933aa3f6a8ca7c09c9a4bfa13..1482f4c0f29a84fc5c99b9c327a34123ac296a5b 100644
--- a/miner/remote_agent.go
+++ b/miner/remote_agent.go
@@ -50,7 +50,6 @@ out:
 			break out
 		case work := <-a.workCh:
 			a.work = work
-			a.returnCh <- nil
 		}
 	}
 }
@@ -60,6 +59,8 @@ func (a *RemoteAgent) GetWork() [3]string {
 
 	// XXX Wait here until work != nil ?
 	if a.work != nil {
+		a.currentWork = a.work
+
 		res[0] = a.work.HashNoNonce().Hex()
 		seedHash, _ := ethash.GetSeedHash(a.currentWork.NumberU64())
 		res[1] = common.Bytes2Hex(seedHash)