diff --git a/miner/remote_agent.go b/miner/remote_agent.go
index 8ea164f34777c194bc340dd062b7acd67beccf8e..3911ac61eb97f47c9accda7113c02718d2eed252 100644
--- a/miner/remote_agent.go
+++ b/miner/remote_agent.go
@@ -17,7 +17,6 @@ type RemoteAgent struct {
 
 func NewRemoteAgent() *RemoteAgent {
 	agent := &RemoteAgent{}
-	go agent.run()
 
 	return agent
 }
@@ -33,6 +32,7 @@ func (a *RemoteAgent) SetWorkCh(returnCh chan<- Work) {
 func (a *RemoteAgent) Start() {
 	a.quit = make(chan struct{})
 	a.workCh = make(chan *types.Block, 1)
+	go a.run()
 }
 
 func (a *RemoteAgent) Stop() {
diff --git a/miner/worker.go b/miner/worker.go
index ff500b156a4187d70794d4b094b164ab52efee0f..587036f226eff43df8f7c9eef038adfabea7fbdb 100644
--- a/miner/worker.go
+++ b/miner/worker.go
@@ -213,9 +213,11 @@ func (self *worker) commitNewWork() {
 	transactions := self.eth.TxPool().GetTransactions()
 	sort.Sort(types.TxByNonce{transactions})
 
-	minerlogger.Infof("committing new work with %d txs\n", len(transactions))
 	// Keep track of transactions which return errors so they can be removed
-	var remove types.Transactions
+	var (
+		remove types.Transactions
+		tcount = 0
+	)
 gasLimit:
 	for i, tx := range transactions {
 		err := self.commitTransaction(tx)
@@ -233,6 +235,8 @@ gasLimit:
 			minerlogger.Infof("Gas limit reached for block. %d TXs included in this block\n", i)
 			// Break on gas limit
 			break gasLimit
+		default:
+			tcount++
 		}
 	}
 	self.eth.TxPool().RemoveSet(remove)
@@ -251,7 +255,8 @@ gasLimit:
 			uncles = append(uncles, uncle.Header())
 		}
 	}
-	minerlogger.Infoln("Included", len(uncles), "uncle(s)")
+	minerlogger.Infof("commit new work with %d txs & %d uncles\n", tcount, len(uncles))
+
 	self.current.block.SetUncles(uncles)
 
 	self.current.state.AddBalance(self.coinbase, core.BlockReward)