diff --git a/src/ringdht/ringaccount.cpp b/src/ringdht/ringaccount.cpp index 840c77147bd3c274a25d7201b580bf650cade838..68e282ae8d7ac2282d8f5346f1621bb2cb42b22c 100644 --- a/src/ringdht/ringaccount.cpp +++ b/src/ringdht/ringaccount.cpp @@ -2119,13 +2119,19 @@ RingAccount::doRegister_() #if HAVE_RINGNS // Look for registered name on the blockchain nameDir_.get().lookupAddress(ringAccountId_, [w](const std::string& result, const NameDirectory::Response& response) { - if (response == NameDirectory::Response::found) - if (auto this_ = w.lock()) { + if (auto this_ = w.lock()) { + if (response == NameDirectory::Response::found) { if (this_->registeredName_ != result) { this_->registeredName_ = result; emitSignal<DRing::ConfigurationSignal::VolatileDetailsChanged>(this_->accountID_, this_->getVolatileAccountDetails()); } + } else if (response == NameDirectory::Response::notFound) { + if (not this_->registeredName_.empty()) { + this_->registeredName_.clear(); + emitSignal<DRing::ConfigurationSignal::VolatileDetailsChanged>(this_->accountID_, this_->getVolatileAccountDetails()); + } } + } }); #endif