diff --git a/src/sip/sipcall.cpp b/src/sip/sipcall.cpp
index 4dd2c37dc31a36b35ea8516f5f4fff0d8b90fe13..e77e5724ee84136573984c26869c16cee9dd6424 100644
--- a/src/sip/sipcall.cpp
+++ b/src/sip/sipcall.cpp
@@ -1241,7 +1241,10 @@ SIPCall::startAllMedia()
         rtp->updateMedia(remote, local);
 
         rtp->setSuccessfulSetupCb(
-            [this](MediaType type, bool isRemote) { rtpSetupSuccess(type, isRemote); });
+            [wthis = weak()](MediaType type, bool isRemote) {
+                if (auto this_ = wthis.lock())
+                    this_->rtpSetupSuccess(type, isRemote);
+            });
 
 #ifdef ENABLE_VIDEO
         videortp_->setRequestKeyFrameCallback([wthis = weak()] {