diff --git a/daemon/src/managerimpl.cpp b/daemon/src/managerimpl.cpp
index cd1b52aa9be1876f7207d11f183fdada5da0f3b4..92258800f7d36cb758cf7dd48632bdc2bd3a8068 100644
--- a/daemon/src/managerimpl.cpp
+++ b/daemon/src/managerimpl.cpp
@@ -1687,7 +1687,6 @@ void ManagerImpl::peerHungupCall(const std::string& call_id)
     if (not incomingCallsWaiting())
         stopTone();
 
-    checkAudio();
     removeStream(call_id);
 }
 
diff --git a/daemon/src/managerimpl.h b/daemon/src/managerimpl.h
index c0fb400983c0895f94a13f506c83af153e55d7f7..2313256a21591649e28495d096916277440a03c7 100644
--- a/daemon/src/managerimpl.h
+++ b/daemon/src/managerimpl.h
@@ -1032,14 +1032,6 @@ class ManagerImpl {
         void registerAccounts();
         void saveHistory();
 
-    private:
-        NON_COPYABLE(ManagerImpl);
-
-        /**
-         * Get a map with all the current SIP and IAX accounts
-         */
-        AccountMap getAllAccounts() const;
-
         /**
          * Suspends SFLphone's audio processing if no calls remain, allowing
          * other applications to resume audio.
@@ -1049,6 +1041,14 @@ class ManagerImpl {
         void
         checkAudio();
 
+    private:
+        NON_COPYABLE(ManagerImpl);
+
+        /**
+         * Get a map with all the current SIP and IAX accounts
+         */
+        AccountMap getAllAccounts() const;
+
         /**
           * To handle the persistent history
           * TODO: move this to ConfigurationManager
diff --git a/daemon/src/sip/sipvoiplink.cpp b/daemon/src/sip/sipvoiplink.cpp
index d3039b347f3f67a8d2b3e7ca3af24ceb947d6a16..7e07835578f4159da55fbe2142cc23b7bf84aa12 100644
--- a/daemon/src/sip/sipvoiplink.cpp
+++ b/daemon/src/sip/sipvoiplink.cpp
@@ -1598,6 +1598,7 @@ SIPVoIPLink::SIPCallClosed(SIPCall *call)
 
     Manager::instance().peerHungupCall(id);
     removeSipCall(id);
+    Manager::instance().checkAudio();
 }
 
 void