diff --git a/sflphone-common/src/dbus/callmanager-introspec.xml b/sflphone-common/src/dbus/callmanager-introspec.xml
index 724eddda89055fb3d3b0f3d6161add5052dc84be..83e5009c97a16f584f09f7ec1896e585fc8d2f37 100644
--- a/sflphone-common/src/dbus/callmanager-introspec.xml
+++ b/sflphone-common/src/dbus/callmanager-introspec.xml
@@ -7,6 +7,11 @@
       <arg type="s" name="callID" direction="in"/>
       <arg type="s" name="to" direction="in"/>
     </method>
+
+    <method name="placeCallFirstAccount">
+      <arg type="s" name="callID" direction="in"/>
+      <arg type="s" name="to" direction="in"/>
+    </method>
     
     <method name="refuse">
       <arg type="s" name="callID" direction="in"/>
diff --git a/sflphone-common/src/dbus/callmanager.cpp b/sflphone-common/src/dbus/callmanager.cpp
index fb41bec4c2f62becde7a9a0c9349d9870cd92498..34689444975c56e64060e7348ab22d80d3e744f8 100644
--- a/sflphone-common/src/dbus/callmanager.cpp
+++ b/sflphone-common/src/dbus/callmanager.cpp
@@ -51,18 +51,19 @@ void
 CallManager::placeCallFirstAccount (const std::string& callID,
 				    const std::string& to)
 {
+
     if (to == "") {
         _warn("No number entered - Call stopped");
 	return;
     }
 
-    std::vector< std::string > accountIdList = Manager::instance().getAccountList();
-    std::vector< std::string >::iterator iter = accountIdList.begin();
+    std::vector< std::string > accountOrder = Manager::instance().loadAccountOrder();
+    std::vector< std::string >::iterator iter = accountOrder.begin();
 
     Account *account;
-    while(iter != accountIdList.end()) {
+    while(iter != accountOrder.end()) {
         account = Manager::instance().getAccount(*iter);
-	if(account->isEnabled()) {
+	if((*iter != IP2IP_PROFILE) && account->isEnabled()) {
 	    Manager::instance().outgoingCall (*iter, callID, to);
 	    return;
 	}
diff --git a/sflphone-common/src/managerimpl.h b/sflphone-common/src/managerimpl.h
index 7aaa89a4a669a496cfe49cef6d4027e5f13de278..c2938844f8405674609d6918eb298d42e1e74a67 100644
--- a/sflphone-common/src/managerimpl.h
+++ b/sflphone-common/src/managerimpl.h
@@ -424,6 +424,12 @@ class ManagerImpl {
      */
     void setAccountsOrder (const std::string& order);
 
+    /**
+     * Load the accounts order set by the user from the sflphonedrc config file
+     * @return std::vector<std::string> A vector containing the account ID's
+     */
+    std::vector<std::string> loadAccountOrder ();
+
     /**
      * Retrieve details about a given account
      * @param accountID	  The account identifier
@@ -1212,12 +1218,6 @@ class ManagerImpl {
      */
     short loadAccountMap();
 
-    /**
-     * Load the accounts order set by the user from the sflphonedrc config file
-     * @return std::vector<std::string> A vector containing the account ID's
-     */
-    std::vector<std::string> loadAccountOrder ();
-
 
     /**
      * Unload the account (delete them)