diff --git a/src/jamidht/p2p.cpp b/src/jamidht/p2p.cpp
index 2a0cf2d8a5a57ea1289cebb6f4af29ba31a9435c..9b6463ab5e12bd8c7ba43ff600881d4d8dcc543e 100644
--- a/src/jamidht/p2p.cpp
+++ b/src/jamidht/p2p.cpp
@@ -490,8 +490,8 @@ private:
             *peerCertificate_);
         tls_ep_->setOnStateChange([this, ice=std::move(ice)] (tls::TlsSessionState state) {
             if (state == tls::TlsSessionState::SHUTDOWN) {
-                JAMI_WARN() << "TLS connection failure from peer "
-                            << peer_.toString();
+                if (!connected_)
+                    JAMI_WARN() << "TLS connection failure from peer " << peer_.toString();
                 ice->cancelOperations(); // This will stop current PeerChannel operations
                 cancel();
             } else if (state == tls::TlsSessionState::ESTABLISHED) {
diff --git a/src/security/tls_session.cpp b/src/security/tls_session.cpp
index d2fa9beea169ddd962aea7e6bbf136089575f0e4..b39dcb42394edcc936726547d8ae748882720957 100644
--- a/src/security/tls_session.cpp
+++ b/src/security/tls_session.cpp
@@ -316,7 +316,7 @@ TlsSession::TlsSessionImpl::TlsSessionImpl(std::unique_ptr<SocketType>&& transpo
 
 TlsSession::TlsSessionImpl::~TlsSessionImpl()
 {
-    state_ = TlsSessionState::SHUTDOWN;
+    newState_ = TlsSessionState::SHUTDOWN;
     stateCondition_.notify_all();
     rxCv_.notify_all();
     thread_.join();
@@ -1305,7 +1305,7 @@ TlsSession::currentCipherSuiteId(std::array<uint8_t, 2>& cs_id) const
 void
 TlsSession::shutdown()
 {
-    pimpl_->state_ = TlsSessionState::SHUTDOWN;
+    pimpl_->newState_ = TlsSessionState::SHUTDOWN;
     pimpl_->stateCondition_.notify_all();
     pimpl_->rxCv_.notify_one(); // unblock waiting FSM
 }
diff --git a/src/sip/siptransport.cpp b/src/sip/siptransport.cpp
index 1d3738d35d22cae13b9aae72845a3634683a3460..c2d69c81232b0189b28efaceb6b15523d6ebcf7a 100644
--- a/src/sip/siptransport.cpp
+++ b/src/sip/siptransport.cpp
@@ -214,7 +214,6 @@ SipTransportBroker::transportStateChanged(pjsip_transport* tp,
         std::lock_guard<std::mutex> lock(transportMapMutex_);
         auto key = transports_.find(tp);
         if (key == transports_.end()) {
-            JAMI_WARN("spurious pjsip transport state change");
             return;
         }