diff --git a/core/blockchain.go b/core/blockchain.go
index 5939562042810e8380df67d8fdab960bcfb4b6eb..1518936dc87d81ed319aa2b2b68a432c77f22a94 100644
--- a/core/blockchain.go
+++ b/core/blockchain.go
@@ -2472,7 +2472,8 @@ func (bc *BlockChain) ExecuteBlockEuphemerally(block *types.Block, stateReader s
 		misc.ApplyDAOHardFork(ibs)
 	}
 	noop := state.NewNoopWriter()
-	for _, tx := range block.Transactions() {
+	for i, tx := range block.Transactions() {
+		ibs.Prepare(tx.Hash(), block.Hash(), i)
 		receipt, err := ApplyTransaction(chainConfig, bc, nil, gp, ibs, noop, header, tx, usedGas, vmConfig)
 		if err != nil {
 			return fmt.Errorf("tx %x failed: %v", tx.Hash(), err)