diff --git a/src/app/commoncomponents/LocalVideo.qml b/src/app/commoncomponents/LocalVideo.qml
index caca6c081562fd034c7fc0fc1466fd6f0d2a75de..5bb34305dc40142cbdf83163a6cde27a36ec8e0d 100644
--- a/src/app/commoncomponents/LocalVideo.qml
+++ b/src/app/commoncomponents/LocalVideo.qml
@@ -37,7 +37,8 @@ VideoView {
     }
 
     onVisibleChanged: {
-        const id = visible ? VideoDevices.getDefaultDevice() : ""
+        rendererId = rendererId ? rendererId : VideoDevices.getDefaultDevice()
+        const id = visible ? rendererId : ""
         startWithId(id)
     }
 }
diff --git a/src/app/mainview/components/OngoingCallPage.qml b/src/app/mainview/components/OngoingCallPage.qml
index affad4e695eb765fac4e8e43ffe8f09fd29842c0..d57a5d983df4e2ed96c4c7c4720ea27e4b2caeb4 100644
--- a/src/app/mainview/components/OngoingCallPage.qml
+++ b/src/app/mainview/components/OngoingCallPage.qml
@@ -199,14 +199,6 @@ Rectangle {
                 visible: false
                 rendererId: ""
 
-                Connections {
-                    target: AvAdapter
-
-                    function onCurrentRenderingDeviceIdChanged() {
-                        previewRenderer.rendererId = AvAdapter.currentRenderingDeviceId
-                    }
-                }
-
                 height: width * invAspectRatio
                 width: Math.max(callPageMainRect.width / 5, JamiTheme.minimumPreviewWidth)
                 x: callPageMainRect.width - previewRenderer.width - previewMargin
@@ -312,6 +304,7 @@ Rectangle {
                                              isGrid)
                         callOverlay.isVideoMuted = !AvAdapter.isCapturing()
                         callOverlay.sharingActive = AvAdapter.isSharing()
+                        previewRenderer.rendererId = previewId
                         previewRenderer.visible = (AvAdapter.isSharing() || AvAdapter.isCapturing()) && participantsLayer.count == 0
                     }