diff --git a/src/jamidht/account_manager.cpp b/src/jamidht/account_manager.cpp
index aeb357694044ead82810bcaafaa0d5b9626ff613..53823f0e1bdefd803e4e278470e4f1152fa63d9c 100644
--- a/src/jamidht/account_manager.cpp
+++ b/src/jamidht/account_manager.cpp
@@ -491,9 +491,9 @@ AccountManager::forEachDevice(const dht::InfoHash& to,
 }
 
 void
-AccountManager::lookupName(const std::string& name, LookupCallback cb)
+AccountManager::lookupUri(const std::string& name, const std::string& defaultServer, LookupCallback cb)
 {
-    nameDir_.get().lookupName(name, cb);
+    nameDir_.get().lookupUri(name, defaultServer, std::move(cb));
 }
 
 void
diff --git a/src/jamidht/account_manager.h b/src/jamidht/account_manager.h
index fd1900e60841ac221ac70dc3835dacc8818b0da3..72d75714a6f5f2934049ad49cc0a3025f5f0f656 100644
--- a/src/jamidht/account_manager.h
+++ b/src/jamidht/account_manager.h
@@ -209,7 +209,7 @@ public:
     using LookupCallback = NameDirectory::LookupCallback;
     using RegistrationCallback = NameDirectory::RegistrationCallback;
 
-    virtual void lookupName(const std::string& name, LookupCallback cb);
+    virtual void lookupUri(const std::string& name, const std::string& defaultServer, LookupCallback cb);
     virtual void lookupAddress(const std::string& address, LookupCallback cb);
     virtual void registerName(const std::string& password, const std::string& name, RegistrationCallback cb) = 0;
 
diff --git a/src/jamidht/jamiaccount.cpp b/src/jamidht/jamiaccount.cpp
index 8234423fa051b5e05b708e8f83a205225551534a..ba808d53476446444c77c55dba100488b135726c 100644
--- a/src/jamidht/jamiaccount.cpp
+++ b/src/jamidht/jamiaccount.cpp
@@ -1178,10 +1178,9 @@ void
 JamiAccount::lookupName(const std::string& name)
 {
     auto acc = getAccountID();
-    accountManager_->lookupName(name, [acc,name](const std::string& result, NameDirectory::Response response) {
+    accountManager_->lookupUri(name, nameServer_, [acc,name](const std::string& result, NameDirectory::Response response) {
         emitSignal<DRing::ConfigurationSignal::RegisteredNameFound>(acc, (int)response, result, name);
     });
-    //NameDirectory::lookupUri();
 }
 
 void
diff --git a/src/jamidht/namedirectory.cpp b/src/jamidht/namedirectory.cpp
index f2d7818804f0846497d034842b43ce038714f67b..32ea6d3a3190e7a55a11a0ea6af83ceb9543a8b1 100644
--- a/src/jamidht/namedirectory.cpp
+++ b/src/jamidht/namedirectory.cpp
@@ -70,11 +70,13 @@ void
 NameDirectory::lookupUri(const std::string& uri, const std::string& default_server,
                          LookupCallback cb)
 {
+
+    const std::string& default_ns = default_server.empty() ? DEFAULT_SERVER_HOST : default_server;
     std::smatch pieces_match;
     if (std::regex_match(uri, pieces_match, URI_VALIDATOR)) {
         if (pieces_match.size() == 4) {
             if (pieces_match[2].length() == 0)
-                instance(default_server).lookupName(pieces_match[3], std::move(cb));
+                instance(default_ns).lookupName(pieces_match[3], std::move(cb));
             else
                 instance(pieces_match[3].str()).lookupName(pieces_match[2], std::move(cb));
             return;