In March, I made a backup of the wallet and continued using the node. In October, I restored my old backup. After restoring the backup, I found that the listtransactions command stopped displaying some transactions made during the period from March to October.

**Expected behavior**

The listtransactions command displays all transactions in the restored wallet.

**Actual behavior**

The listtransactions command in the restored wallet does not display some transactions since the backup.

**To reproduce**

1. Run bitcoin core in regtest mode
2. Create a new address A and generate 101 blocks with sending a reward to the created address A
3. Create a wallet backup
4. Create new address B
5. Send transaction to address B, write TXID
6. Generate 1 block with sending a reward to address A
7. View getaddressinfo B. Verify labels are not an empty list
8. View listtransactions. Make sure there is a TXID transaction present
9. Stop bitcoin core
10. Restore backup
11. Run bitcoin core
12. View getaddressinfo B and listtransactions. Detect that the address does not have a label set and that listtransactions does not contain a TXID transaction.

**System information**

Bitcoin Core 0.20.1 on Debian GNU / Linux.

+ HelpExampleRpc("restorewallet", "\"testwallet\" \"home\\backups\\backup-file.bak\"")
            + HelpExampleCliNamed("restorewallet", {{"wallet_name", "testwallet"}, {"backup_file", "home\\backups\\backup-file.bak\""}, {"load_on_startup", true}})
            + HelpExampleRpcNamed("restorewallet", {{"wallet_name", "testwallet"}, {"backup_file", "home\\backups\\backup-file.bak\""}, {"load_on_startup", true}})
        },
        [&](const RPCHelpMan& self, const JSONRPCRequest& request) -> UniValue
{
    WalletContext& context = EnsureWalletContext(request.context);
    auto backup_file = fs::u8path(request.params[1].get_str());
    if (!fs::exists(backup_file)) {
        throw JSONRPCError(RPC_INVALID_PARAMETER, "Backup file does not exist");
    }
    std::string wallet_name = request.params[0].get_str();
    const fs::path wallet_path = fsbridge::AbsPathJoin(GetWalletDir(), fs::u8path(wallet_name));
    if (fs::exists(wallet_path)) {
        throw JSONRPCError(RPC_INVALID_PARAMETER, "Wallet name already exists.");
    }
    if (!TryCreateDirectories(wallet_path)) {
        throw JSONRPCError(RPC_WALLET_ERROR, strprintf("Failed to create database path '%s'. Database already exists.", wallet_path.u8string()));
    }
    auto wallet_file = wallet_path / "wallet.dat";
    fs::copy_file(backup_file, wallet_file, fs::copy_option::fail_if_exists);
    auto [wallet, warnings] = LoadWalletHelper(context, request.params[2], wallet_name);
    UniValue obj(UniValue::VOBJ);
    obj.pushKV("name", wallet->GetName());
    obj.pushKV("warning", Join(warnings, Untranslated("\n")).original);
    return obj;
},
    };
}
static RPCHelpMan unloadwallet()