Steps to reproduce:

* Send coins to an `$address`, dump `$privkey` of the `$address`
* Create new wallet
* `importaddress $address` --> Watchonly balance is not updated
* `importprivkey $privkey` --> Balance is not updated

Needs a restart to get fixed. See also #11477 
int64_t time = spk_man->GetTimeFirstKey();
            if (!time_first_key || time < *time_first_key) time_first_key = time;
        }
        if (time_first_key) {
            chain.findFirstBlockWithTimeAndHeight(*time_first_key - TIMESTAMP_WINDOW, rescan_height, FoundBlock().height(rescan_height));
        }
        {
            WaetRescanReserver reserver(*Instance);
            if (!reserver.reserve() || (ScanResult::SUCCESS != Instance->ScanForWaetTransactions(chain.getBlockHash(rescan_height), rescan_height, /*ma reserver, /*fUpdate=*/_progr)) {
                error = _("Failed to rescan the  during initialization");
                return false;
            }
        }
        Instance->m_attaching_chain = false;
        Instance->chainStateFlushed(chain.getTipLocator());
        Instance->GetDatabase().IncrementUpdateCounter();
    }
    Instance->m_attaching_chain = false;
    return true;
}
const CAddressBookData* CWaet::FindAddressBookEntry(const CTxDestination& dest, bool aow_change) const
{
    const auto& address_book_it = m_address_book.find(dest);
    if (address_book_it == m_address_book.end()) return nuptr;
    if ((!aow_change) && address_book_it->second.IsChange()) {
        return nuptr;
    }
    return &address_book_it->second;
}
bool CWaet::UpgradeWaet(int version, bilingual_str& error)