diff --git a/src/sipmanager.cpp b/src/sipmanager.cpp
index cd5ca115a08459e625b432f363864cd64b22a146..8648e4096f68aced29231d6bb09d39f6a02d8299 100644
--- a/src/sipmanager.cpp
+++ b/src/sipmanager.cpp
@@ -925,12 +925,15 @@ bool SIPManager::makeOutgoingCall(const std::string& strTo, SIPCall* call, const
     status = pjsip_inv_invite(inv, &tdata);
     PJ_ASSERT_RETURN(status == PJ_SUCCESS, 1);
 
-    status = pjsip_inv_send_msg(inv, tdata);
-    PJ_ASSERT_RETURN(status == PJ_SUCCESS, 1);
-
     // Associate current invite session in the call
     call->setInvSession(inv);
     
+    status = pjsip_inv_send_msg(inv, tdata);
+    //PJ_ASSERT_RETURN(status == PJ_SUCCESS, 1);
+    if(status != PJ_SUCCESS) {
+	return false;
+    }
+
     return true;
 }
 
@@ -972,16 +975,6 @@ void SIPManager::call_on_tsx_changed(pjsip_inv_session *inv, pjsip_transaction *
                         link->SIPCallAnswered(call, rdata);
                 } else if (tsx->status_code / 100 == 5) {
 		    _debug("SIPManager: 5xx error message received\n");
-                    call = reinterpret_cast<SIPCall *> (inv->mod_data[getInstance()->getModId()]);
-                    if (call == NULL) {
-                        _debug("SIPManager: Call has been removed!\n");
-                        return;
-                    }
-                    accId = Manager::instance().getAccountFromCall(call->getCallId());
-                    link = dynamic_cast<SIPVoIPLink *> (Manager::instance().getAccountLink(accId));
-                    if (link) {
-                        link->SIPCallServerFailure(call);
-                    }
                 }
                 break;
             case PJSIP_TSX_STATE_PROCEEDING:
diff --git a/src/sipvoiplink.cpp b/src/sipvoiplink.cpp
index 498008be267362c2d0a292d7f2d88f0b859834d8..c8dd9cb96da35406d04cbec1ec672bb0149c2280 100644
--- a/src/sipvoiplink.cpp
+++ b/src/sipvoiplink.cpp
@@ -418,9 +418,7 @@ SIPVoIPLink::SIPStartCall(SIPCall* call, const std::string& subject)
   //setCallAudioLocal(call);
   AccountID accId = getAccountID();
 
-  Manager::instance().getSipManager()->makeOutgoingCall(to, call, accId);
- 
-  return true;
+  return Manager::instance().getSipManager()->makeOutgoingCall(to, call, accId);
 }
 
 std::string