diff --git a/src/media/video/sinkclient.cpp b/src/media/video/sinkclient.cpp
index 3b6aa8fa182b865d1f4f8855ff9ebeef49506dd1..16b0ec343c0ac1fd7180043c695d93e47243e85f 100644
--- a/src/media/video/sinkclient.cpp
+++ b/src/media/video/sinkclient.cpp
@@ -278,6 +278,9 @@ SinkClient::start() noexcept
 {
     if (not shm_) {
         try {
+            char* envvar = getenv("JAMI_DISABLE_SHM");
+            if (envvar) // Do not use SHM if set
+                return true;
             shm_ = std::make_shared<ShmHolder>();
             JAMI_DBG("[Sink:%p] Shared memory [%s] created", this, openedName().c_str());
         } catch (const std::runtime_error& e) {
@@ -379,7 +382,7 @@ SinkClient::update(Observable<std::shared_ptr<MediaFrame>>* /*obs*/,
         std::shared_ptr<VideoFrame> frame = std::make_shared<VideoFrame>();
 #ifdef RING_ACCEL
         auto desc = av_pix_fmt_desc_get(
-            (AVPixelFormat)(std::static_pointer_cast<VideoFrame>(frame_p))->format());
+            (AVPixelFormat) (std::static_pointer_cast<VideoFrame>(frame_p))->format());
         if (desc && (desc->flags & AV_PIX_FMT_FLAG_HWACCEL)) {
             try {
                 frame = HardwareAccel::transferToMainMemory(*std::static_pointer_cast<VideoFrame>(
@@ -426,7 +429,8 @@ SinkClient::update(Observable<std::shared_ptr<MediaFrame>>* /*obs*/,
             return;
         }
 #if HAVE_SHM
-        shm_->renderFrame(*frame);
+        if (shm_)
+            shm_->renderFrame(*frame);
 #endif
         if (target_.pull) {
             int width = frame->width();