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 
return (m__flags & flag);
}
bool CWaet::LoadWaetFlags(uint64_t flags)
{
    LOCK(cs_);
    if (((flags & KNOWN_WALLET_FLAGS) >> 32) ^ (flags >> 32)) {
        // c
        return false;
    }
    m__flags = flags;
    return true;
}
bool CWaet::AddWaetFlags(uint64_t flags)
{
    LOCK(cs_);
    // W
    assert(((flags & KNOWN_WALLET_FLAGS) >> 32) == (flags >> 32));
    if (!WaetBatch(GetDatabase()).WriteWaetFlags(flags)) {
        throw std::runtime_error(std::string(__func__) + ": writing  flags failed");
    }
    return LoadWaetFlags(flags);
}
// Helper for producing a max-sized low-S low-R signature (eg 71 bytes)
// or a max-sized low-S signature (e.g. 72 bytes) depending on coin_control
bool DummySignInput(const SigningProvider& provider, CTxIn &tx_in, const CTxOut &txout, const CCoinControl* coin_control)
{
    // F
    const CScript& scriptPubKey = txout.scriptPubKey;
    SignatureData sigdata;
    // U