diff --git a/src/account.cpp b/src/account.cpp
index da2f5d27df68670587eb6d470157ae99b0dcc450..3da484c7f8bd25cf22d594ab7c61108f7233fe26 100644
--- a/src/account.cpp
+++ b/src/account.cpp
@@ -938,6 +938,8 @@ bool Account::supportScheme( URI::SchemeType type )
 {
    switch(type) {
       case URI::SchemeType::NONE :
+         if (protocol() == Account::Protocol::RING)
+            return false;
          return true;
          break;
       case URI::SchemeType::SIP  :
diff --git a/src/call.cpp b/src/call.cpp
index b8a7cff1a7d1fbdb55388bb15c792a63899a9e81..4af8a02fb920379c856e7c552465ab00d560684f 100644
--- a/src/call.cpp
+++ b/src/call.cpp
@@ -1334,7 +1334,7 @@ void CallPrivate::call()
    Q_ASSERT_IS_IN_PROGRESS
 
    CallManagerInterface& callManager = DBus::CallManager::instance();
-   qDebug() << "account = " << m_Account;
+   qDebug() << "account = " << m_Account << (m_Account? m_Account->alias() : "(no account)");
    if(!m_Account) {
       qDebug() << "Account is not set, taking the first registered.";
       m_Account = AvailableAccountModel::currentDefaultAccount(m_pDialNumber);
diff --git a/src/callmodel.cpp b/src/callmodel.cpp
index 1117d9e916742731a6ff17ac06b71fa5d292fd9b..402c5e42abaf72cc4e8cd5b6387c479c9bfc28a8 100644
--- a/src/callmodel.cpp
+++ b/src/callmodel.cpp
@@ -428,15 +428,7 @@ Call* CallModel::dialingCall(const QString& peerName, Account* account)
          return call;
    }
 
-   //No dialing call found, creating one
-   Account* acc = (account)?account:AvailableAccountModel::currentDefaultAccount();
-
-   if (!acc) {
-      qWarning() << "No account is available, cannot call" << QStringList(DBus::ConfigurationManager::instance().getAccountList());
-      return nullptr;
-   }
-
-   return d_ptr->addCall2(CallPrivate::buildDialingCall(peerName, acc));
+   return d_ptr->addCall2(CallPrivate::buildDialingCall(peerName, account));
 }  //dialingCall
 
 ///Create a new incoming call when the daemon is being called