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.

WatchKeyMap mapWatchKeys GUARDED_BY(cs_KeyStore);
    int64_t nTimeFirstKey GUARDED_BY(cs_KeyStore) = 0;
    bool AddKeyPubKeyInner(const CKey& key, const CPubKey &pubkey);
    bool AddCryptedKeyInner(const CPubKey &vchPubKey, const std::vector<unsigned char> &vchCryptedSecret);
    /**
     * Private version of AddWatchOnly method which does not accept a
     * timestamp, and which will reset the wallet's nTimeFirstKey value to 1 if
     * the watch key did not previously have a timestamp associated with it.
     * Because this is an inherited virtual method, it is accessible despite
     * being marked private, but it is marked private anyway to encourage use
     * of the other AddWatchOnly which accepts a timestamp and sets
     * nTimeFirstKey more intelligently for more efficient rescans.
     */
    bool AddWatchOnly(const CScript& dest) EXCLUSIVE_LOCKS_REQUIRED(cs_KeyStore);
    bool AddWatchOnlyWithDB(WalletBatch &batch, const CScript& dest) EXCLUSIVE_LOCKS_REQUIRED(cs_KeyStore);
    bool AddWatchOnlyInMem(const CScript &dest);
    
    bool AddWatchOnlyWithDB(WalletBatch &batch, const CScript& dest, int64_t create_time) EXCLUSIVE_LOCKS_REQUIRED(cs_KeyStore);
    
    bool AddKeyPubKeyWithDB(WalletBatch &batch,const CKey& key, const CPubKey &pubkey) EXCLUSIVE_LOCKS_REQUIRED(cs_KeyStore);
    void AddKeypoolPubkeyWithDB(const CPubKey& pubkey, const bool internal, WalletBatch& batch);
    
    bool AddCScriptWithDB(WalletBatch& batch, const CScript& script);
    
    bool AddKeyOriginWithDB(WalletBatch& batch, const CPubKey& pubkey, const KeyOriginInfo& info);
    
    CHDChain m_hd_chain;
    std::unordered_map<CKeyID, CHDChain, SaltedSipHasher> m_inactive_hd_chains;
    
    void DeriveNewChildKey(WalletBatch& batch, CKeyMetadata& metadata, CKey& secret, CHDChain& hd_chain, bool internal = false) EXCLUSIVE_LOCKS_REQUIRED(cs_KeyStore);