diff --git a/ethchain/block_manager.go b/ethchain/block_manager.go
index 04036dbb11c59040411100b7e66f342aee95355a..364a06158310ff3d4493cbf9be3093fc35ebf2ee 100644
--- a/ethchain/block_manager.go
+++ b/ethchain/block_manager.go
@@ -92,12 +92,13 @@ func (bm *BlockManager) WatchAddr(addr []byte) *AddressState {
 }
 
 func (bm *BlockManager) GetAddrState(addr []byte) *AddressState {
-	addrState := bm.addrStateStore.Get(addr)
-	if addrState == nil {
-		addrState = bm.WatchAddr(addr)
+	account := bm.addrStateStore.Get(addr)
+	if account == nil {
+		a := bm.bc.CurrentBlock.GetAddr(addr)
+		account = &AddressState{Nonce: a.Nonce, Account: a}
 	}
 
-	return addrState
+	return account
 }
 
 func (bm *BlockManager) BlockChain() *BlockChain {
@@ -114,7 +115,10 @@ func (bm *BlockManager) ApplyTransactions(block *Block, txs []*Transaction) {
 			if contract := block.GetContract(tx.Recipient); contract != nil {
 				bm.ProcessContract(contract, tx, block)
 			} else {
-				bm.TransactionPool.ProcessTransaction(tx, block)
+				err := bm.TransactionPool.ProcessTransaction(tx, block)
+				if err != nil {
+					ethutil.Config.Log.Infoln("[BMGR]", err)
+				}
 			}
 		}
 	}