diff --git a/src/media/video/video_rtp_session.cpp b/src/media/video/video_rtp_session.cpp
index fc16648eb1935774bc5768dab085fc441be27ab3..c6e6a563a34ffa301794eb0b54b96fa9ac3a8190 100644
--- a/src/media/video/video_rtp_session.cpp
+++ b/src/media/video/video_rtp_session.cpp
@@ -405,6 +405,9 @@ VideoRtpSession::stop()
     stopSender();
     stopReceiver();
 
+    if (socketPair_)
+        socketPair_->interrupt();
+
     rtcpCheckerThread_.join();
 
     // reset default video quality if exist
@@ -414,8 +417,6 @@ VideoRtpSession::stop()
     videoBitrateInfo_.videoBitrateCurrent = SystemCodecInfo::DEFAULT_VIDEO_BITRATE;
     storeVideoBitrateInfo();
 
-    if (socketPair_)
-        socketPair_->interrupt();
     socketPair_.reset();
     videoLocal_.reset();
 }