diff --git a/cmd/geth/js_test.go b/cmd/geth/js_test.go
index e02e8f704729352236e36da7be627e8e8bd5efe7..6368efbfcc3bcada52badb7eb7e3d5c520b43e7a 100644
--- a/cmd/geth/js_test.go
+++ b/cmd/geth/js_test.go
@@ -172,6 +172,8 @@ func TestBlockChain(t *testing.T) {
 	tmpfile := filepath.Join(extmp, "export.chain")
 	tmpfileq := strconv.Quote(tmpfile)
 
+	ethereum.ChainManager().Reset()
+
 	checkEvalJSON(t, repl, `admin.export(`+tmpfileq+`)`, `true`)
 	if _, err := os.Stat(tmpfile); err != nil {
 		t.Fatal(err)
diff --git a/core/chain_manager.go b/core/chain_manager.go
index 355e203c74119fa9449267584879ad0768287963..7dff7dffd58feea0a729d916c2aeaef7d899165a 100644
--- a/core/chain_manager.go
+++ b/core/chain_manager.go
@@ -348,7 +348,7 @@ func (self *ChainManager) Export(w io.Writer) error {
 
 	last := self.currentBlock.NumberU64()
 
-	for nr := uint64(0); nr <= last; nr++ {
+	for nr := uint64(1); nr <= last; nr++ {
 		block := self.GetBlockByNumber(nr)
 		if block == nil {
 			return fmt.Errorf("export failed on #%d: not found", nr)
@@ -789,7 +789,7 @@ func verifyNonces(pow pow.PoW, blocks []*types.Block) error {
 func verifyNonce(pow pow.PoW, in <-chan *types.Block, done chan<- error) {
 	for block := range in {
 		if !pow.Verify(block) {
-			done <- ValidationError("Block's nonce is invalid (= %x)", block.Nonce)
+			done <- ValidationError("Block(#%v) nonce is invalid (= %x)", block.Number(), block.Nonce)
 		} else {
 			done <- nil
 		}