diff --git a/les/api_backend.go b/les/api_backend.go
index 2a2d406d1fee8e26b06a8f152174b6983c73aa3d..326b540b6f852a03aff5908877bbd1068fce65b8 100644
--- a/les/api_backend.go
+++ b/les/api_backend.go
@@ -60,8 +60,11 @@ func (b *LesApiBackend) SetHead(number uint64) {
 }
 
 func (b *LesApiBackend) HeaderByNumber(ctx context.Context, number rpc.BlockNumber) (*types.Header, error) {
+	// Return the latest current as the pending one since there
+	// is no pending notion in the light client. TODO(rjl493456442)
+	// unify the behavior of `HeaderByNumber` and `PendingBlockAndReceipts`.
 	if number == rpc.PendingBlockNumber {
-		return nil, nil
+		return b.eth.blockchain.CurrentHeader(), nil
 	}
 	if number == rpc.LatestBlockNumber {
 		return b.eth.blockchain.CurrentHeader(), nil