diff --git a/blockpool/blockpool.go b/blockpool/blockpool.go
index 46eac3549e2d994d0da4c6c513498d6bfe59dcd8..d9f8e3baae3a780f172041b554539032e5808662 100644
--- a/blockpool/blockpool.go
+++ b/blockpool/blockpool.go
@@ -238,7 +238,11 @@ func (self *BlockPool) Start() {
 			case event := <-self.tdSub.Chan():
 				if ev, ok := event.(core.ChainHeadEvent); ok {
 					td := ev.Block.Td
-					plog.DebugDetailf("ChainHeadEvent: height: %v, td: %v, hash: %s", ev.Block.Number(), td, hex(ev.Block.Hash()))
+					var height *big.Int
+					if (ev.Block.HeaderHash == common.Hash{}) {
+						height = ev.Block.Header().Number
+					}
+					plog.DebugDetailf("ChainHeadEvent: height: %v, td: %v, hash: %s", height, td, hex(ev.Block.Hash()))
 					self.setTD(td)
 					self.peers.lock.Lock()
 
diff --git a/blockpool/peers_test.go b/blockpool/peers_test.go
index beeb0ad1db145ac128222cda7ab6ef9e8436288e..62e059337bb1eecab77405ba6d64ef3e59c20949 100644
--- a/blockpool/peers_test.go
+++ b/blockpool/peers_test.go
@@ -14,7 +14,7 @@ import (
 // the actual tests
 func TestAddPeer(t *testing.T) {
 	test.LogInit()
-	_, blockPool, blockPoolTester := newTestBlockPool(t)
+	hashPool, blockPool, blockPoolTester := newTestBlockPool(t)
 	peer0 := blockPoolTester.newPeer("peer0", 1, 1)
 	peer1 := blockPoolTester.newPeer("peer1", 2, 2)
 	peer2 := blockPoolTester.newPeer("peer2", 3, 3)
@@ -119,7 +119,8 @@ func TestAddPeer(t *testing.T) {
 	}
 	peer0.waitBlocksRequests(3)
 
-	newblock := &types.Block{Td: common.Big3}
+	hash := hashPool.IndexesToHashes([]int{0})[0]
+	newblock := &types.Block{Td: common.Big3, HeaderHash: hash}
 	blockPool.chainEvents.Post(core.ChainHeadEvent{newblock})
 	time.Sleep(100 * time.Millisecond)
 	if blockPool.peers.best != nil {