diff --git a/daemon/src/iax/iaxvoiplink.cpp b/daemon/src/iax/iaxvoiplink.cpp
index c0d2a7cfa9ae80a34557f7f62e0d0ee18dec74d7..26d6b7ce207e63cf4c37d0f6642f681f59dd1d77 100644
--- a/daemon/src/iax/iaxvoiplink.cpp
+++ b/daemon/src/iax/iaxvoiplink.cpp
@@ -181,19 +181,6 @@ IAXVoIPLink::terminateIAXCall()
     _callMap.clear();
 }
 
-void IAXVoIPLink::terminateCall (const std::string& id)
-{
-    IAXCall* call = getIAXCall (id);
-
-    if (call) {
-        _debug ("IAXVoIPLink: Terminate call");
-        delete call;
-        call = 0;
-    }
-}
-
-
-
 void
 IAXVoIPLink::getEvent()
 {
diff --git a/daemon/src/iax/iaxvoiplink.h b/daemon/src/iax/iaxvoiplink.h
index 245c09fa6cb1dcbc412766b83c2be820fe20a68f..1aeefc9c8bb2bf2068b3d8ae1ca0e8ef0967d0b5 100644
--- a/daemon/src/iax/iaxvoiplink.h
+++ b/daemon/src/iax/iaxvoiplink.h
@@ -88,11 +88,6 @@ class IAXVoIPLink : public VoIPLink
          */
         virtual void terminate (void);
 
-        /**
-         * Terminate on call
-         */
-        virtual void terminateCall (const std::string& id);
-
         /**
          * Send out registration
          * @return bool The new registration state (are we registered ?)
diff --git a/daemon/src/sip/sipvoiplink.cpp b/daemon/src/sip/sipvoiplink.cpp
index 91a4d18db9736a0ecb36780cce34f4eb84a9a667..f58d8ba1e1d4ec8abc88df612d54814f52f3918e 100644
--- a/daemon/src/sip/sipvoiplink.cpp
+++ b/daemon/src/sip/sipvoiplink.cpp
@@ -1330,19 +1330,6 @@ SIPVoIPLink::refuse (const std::string& id)
     return true;
 }
 
-void
-SIPVoIPLink::terminateCall (const std::string& id)
-{
-    _debug ("UserAgent: Terminate call %s", id.c_str());
-
-    SIPCall *call = getSIPCall (id);
-
-    if (call) {
-        // terminate the sip call
-        delete call;
-    }
-}
-
 std::string
 SIPVoIPLink::getCurrentCodecName(const std::string& id)
 {
diff --git a/daemon/src/sip/sipvoiplink.h b/daemon/src/sip/sipvoiplink.h
index a38894e47bfc87aa21a7bba5bfbea047c0e12f88..3bc2fcf78a00352797340df5131a80e5360a4e4a 100644
--- a/daemon/src/sip/sipvoiplink.h
+++ b/daemon/src/sip/sipvoiplink.h
@@ -212,11 +212,6 @@ class SIPVoIPLink : public VoIPLink
          */
         virtual bool refuse (const std::string& id);
 
-        /**
-         * Terminate only one call
-         */
-        virtual void terminateCall (const std::string& id);
-
         /**
          * Send DTMF refering to account configuration
          * @param id The call identifier
diff --git a/daemon/src/voiplink.cpp b/daemon/src/voiplink.cpp
index 34e843675deedf9564278215803c9e8788d5915d..ac6c92a223fe23d37674b2d63933920d3ca467cc 100644
--- a/daemon/src/voiplink.cpp
+++ b/daemon/src/voiplink.cpp
@@ -61,9 +61,8 @@ void VoIPLink::removeCall (const std::string& id)
 
     _debug ("VoipLink: removing call %s from list", id.c_str());
 
-    _callMap.erase (id);
-
-    terminateCall (id);
+    delete _callMap[id];
+    _callMap.erase(id);
 }
 
 Call* VoIPLink::getCall (const std::string& id)
diff --git a/daemon/src/voiplink.h b/daemon/src/voiplink.h
index 0a8b945e692a5120005987a6f442252353dad7ce..c8f3ee8e2029233fc8a1b63fff368da1beec2ff3 100644
--- a/daemon/src/voiplink.h
+++ b/daemon/src/voiplink.h
@@ -87,12 +87,6 @@ class VoIPLink
          */
         virtual void terminate (void) = 0;
 
-        /**
-         * Virtual method
-         * Delete calls
-         */
-        virtual void terminateCall (const std::string& id) = 0;
-
         /**
          * Virtual method
          * Build and send account registration request