diff --git a/src/sip/sdp.cpp b/src/sip/sdp.cpp
index db27af617de47de4495aedd897f0c1327cf1950f..9398dea5a1ba83254a8e865292646cadca5b0bff 100644
--- a/src/sip/sdp.cpp
+++ b/src/sip/sdp.cpp
@@ -142,11 +142,6 @@ Sdp::setActiveLocalSdpSession(const pjmedia_sdp_session* sdp)
 void
 Sdp::setActiveRemoteSdpSession(const pjmedia_sdp_session* sdp)
 {
-    if (!sdp) {
-        JAMI_ERR("Remote sdp is NULL");
-        return;
-    }
-
     activeRemoteSession_ = sdp;
 }
 
diff --git a/src/sip/sipcall.cpp b/src/sip/sipcall.cpp
index d573f5ce962e892343270f0001ae6b92138ce369..f2aab4c5b04753017d462b1d69a5e215d0c4d71c 100644
--- a/src/sip/sipcall.cpp
+++ b/src/sip/sipcall.cpp
@@ -913,6 +913,10 @@ SIPCall::removeCall()
 {
     std::lock_guard<std::recursive_mutex> lk {callMutex_};
     JAMI_WARN("[call:%s] removeCall()", getCallId().c_str());
+    if (sdp_) {
+        sdp_->setActiveLocalSdpSession(nullptr);
+        sdp_->setActiveRemoteSdpSession(nullptr);
+    }
     Call::removeCall();
     mediaTransport_.reset();
     tmpMediaTransport_.reset();