diff --git a/rpc/api.go b/rpc/api.go
index b8207ea0d3666ba1e674a65fa41111e04ccb9280..573f689a22751a7e663b1d5cd74d7471662d1a01 100644
--- a/rpc/api.go
+++ b/rpc/api.go
@@ -2,6 +2,7 @@ package rpc
 
 import (
 	"encoding/json"
+	// "fmt"
 	"math/big"
 	"sync"
 
@@ -112,7 +113,11 @@ func (api *EthereumApi) GetRequestReply(req *RpcRequest, reply *interface{}) err
 		}
 
 		block := NewBlockRes(api.xeth().EthBlockByHash(args.Hash), false)
-		*reply = common.ToHex(big.NewInt(int64(len(block.Transactions))).Bytes())
+		if block == nil {
+			*reply = nil
+		} else {
+			*reply = common.ToHex(big.NewInt(int64(len(block.Transactions))).Bytes())
+		}
 	case "eth_getBlockTransactionCountByNumber":
 		args := new(BlockNumArg)
 		if err := json.Unmarshal(req.Params, &args); err != nil {