diff --git a/src/account.cpp b/src/account.cpp
index 981fb81b955abca73822eb7ec2e9dc48405fbf8e..fe0e0486ad149f6ede40a30ffa75adb515dec7d6 100644
--- a/src/account.cpp
+++ b/src/account.cpp
@@ -135,7 +135,7 @@ Account::detachCall(const std::string& id)
 }
 
 void
-Account::freeAccount()
+Account::hangupCalls()
 {
     decltype(callIDSet_) calls;
     {
diff --git a/src/account.h b/src/account.h
index 40d91bc73ba42461bdf4be8fcbe52fffc47553de..3ac4c562312bc2f99a8eaa1f3896899bb07a92c6 100644
--- a/src/account.h
+++ b/src/account.h
@@ -95,7 +95,7 @@ public:
      * Free all ressources related to this account.
      *   ***Current calls using this account are HANG-UP***
      */
-    void freeAccount();
+    void hangupCalls();
 
     virtual void setAccountDetails(const std::map<std::string, std::string>& details);
 
@@ -311,7 +311,7 @@ public:
 
     /**
      * Get the user-agent
-    */
+     */
     const std::string& getUserAgentName();
 
 public: // virtual methods that has to be implemented by concrete classes
diff --git a/src/jamidht/jamiaccount.cpp b/src/jamidht/jamiaccount.cpp
index adc4557acf9c5207c641237ba09a3b3b0d63ba1c..8650d7bb7a2a35bc828befa05c607b3eea7cc38d 100644
--- a/src/jamidht/jamiaccount.cpp
+++ b/src/jamidht/jamiaccount.cpp
@@ -315,6 +315,7 @@ JamiAccount::JamiAccount(const std::string& accountID, bool /* presenceEnabled *
 
 JamiAccount::~JamiAccount()
 {
+    hangupCalls();
     shutdownConnections();
     if (peerDiscovery_) {
         peerDiscovery_->stopPublish(PEER_DISCOVERY_JAMI_SERVICE);
diff --git a/src/sip/sipaccount.cpp b/src/sip/sipaccount.cpp
index c1b3e71f775dfec60bcac0b9705b7ec85b9d908d..42497caec37a63c64029f8d9592c13eb446c9a59 100644
--- a/src/sip/sipaccount.cpp
+++ b/src/sip/sipaccount.cpp
@@ -843,7 +843,7 @@ SIPAccount::doRegister2_()
 
         // Dropping current calls already using the transport is currently required
         // with TLS.
-        freeAccount();
+        hangupCalls();
         initTlsConfiguration();
 
         if (!tlsListener_) {