diff --git a/RingD.cpp b/RingD.cpp
index c69845c75528be825ee4b1ad157cc6c4d28d8349..00eccbb30738ef423fa289f908550a54bd959cee 100644
--- a/RingD.cpp
+++ b/RingD.cpp
@@ -200,10 +200,8 @@ RingClientUWP::RingD::startDaemon()
         else {
             if (!hasConfig)
             {
-                std::map<std::string, std::string> ringAccountDetails;
-                ringAccountDetails.insert(std::make_pair(ring::Conf::CONFIG_ACCOUNT_ALIAS, accountName));
-                ringAccountDetails.insert(std::make_pair(ring::Conf::CONFIG_ACCOUNT_TYPE,"RING"));
-                DRing::addAccount(ringAccountDetails);
+                tasksList_.push(ref new RingD::Task(Request::AddRingAccount));
+                tasksList_.push(ref new RingD::Task(Request::AddSIPAccount));
             }
             else {
                 CoreApplication::MainView->CoreWindow->Dispatcher->RunAsync(CoreDispatcherPriority::Normal,
@@ -233,6 +231,23 @@ RingD::dequeueTasks()
         auto task = tasksList_.front();
         switch (task->request) {
         case Request::None:
+            break;
+        case Request::AddRingAccount:
+            {
+                std::map<std::string, std::string> ringAccountDetails;
+                ringAccountDetails.insert(std::make_pair(ring::Conf::CONFIG_ACCOUNT_ALIAS, accountName));
+                ringAccountDetails.insert(std::make_pair(ring::Conf::CONFIG_ACCOUNT_TYPE,"RING"));
+                DRing::addAccount(ringAccountDetails);
+            }
+            break;
+        case Request::AddSIPAccount:
+            {
+                std::map<std::string, std::string> sipAccountDetails;
+                sipAccountDetails.insert(std::make_pair(ring::Conf::CONFIG_ACCOUNT_ALIAS, accountName + " (SIP)"));
+                sipAccountDetails.insert(std::make_pair(ring::Conf::CONFIG_ACCOUNT_TYPE,"SIP"));
+                DRing::addAccount(sipAccountDetails);
+            }
+            break;
         default:
             break;
         }
diff --git a/RingD.h b/RingD.h
index 366ea2efd024070971009d2e509922e1e361a640..5aaaa30a8d8880bc11633ee9b8b44460f8c9610b 100644
--- a/RingD.h
+++ b/RingD.h
@@ -68,9 +68,15 @@ internal:
 
 private:
     /* sub classes */
-    enum class Request { None };
+    enum class Request {
+        None,
+        AddRingAccount,
+        AddSIPAccount
+    };
     ref class Task
     {
+    internal:
+        Task(Request r) { request = r; }
     public:
         property Request request;
     };