diff --git a/src/mainview/components/AudioCallPage.qml b/src/mainview/components/AudioCallPage.qml
index 1994e895b2dd37bd97e686f8d6a8ab88638957f5..f751333faf88d9c6fc84cd41ba7163e2d4df80d5 100644
--- a/src/mainview/components/AudioCallPage.qml
+++ b/src/mainview/components/AudioCallPage.qml
@@ -231,5 +231,15 @@ Rectangle {
         }
     }
 
+    MouseArea {
+        anchors.fill: parent
+
+        acceptedButtons: Qt.RightButton
+
+        onClicked: {
+            audioCallOverlay.openCallViewContextMenuInPos(mouse.x, mouse.y)
+        }
+    }
+
     color: "black"
 }
diff --git a/src/mainview/components/CallOverlay.qml b/src/mainview/components/CallOverlay.qml
index 2ac3d3ad6f88ca5f143c356f89eeb99a152f163d..ac529f0c85789f499aeb634610ccfed86bcf4510 100644
--- a/src/mainview/components/CallOverlay.qml
+++ b/src/mainview/components/CallOverlay.qml
@@ -114,6 +114,14 @@ Rectangle {
         }
     }
 
+    // x, y position does not need to be translated
+    // since they all fill the call page
+    function openCallViewContextMenuInPos(x, y) {
+        callViewContextMenu.x = x
+        callViewContextMenu.y = y
+        callViewContextMenu.openMenu()
+    }
+
     anchors.fill: parent
 
     SipInputPanel {
@@ -344,7 +352,6 @@ Rectangle {
         }
     }
 
-
     // MouseAreas to make sure that overlay states are correctly set.
     MouseArea {
         id: callOverlayButtonGroupLeftSideMouseArea
diff --git a/src/mainview/components/CallOverlayButtonGroup.qml b/src/mainview/components/CallOverlayButtonGroup.qml
index 323340130912b533511ac232263fd34739659083..8efcb55dfb3e61d4e3e5a60dd877eaf760b3e18c 100644
--- a/src/mainview/components/CallOverlayButtonGroup.qml
+++ b/src/mainview/components/CallOverlayButtonGroup.qml
@@ -228,9 +228,10 @@ Rectangle {
 
             onClicked: {
                 var rectPos = mapToItem(callStackViewWindow, optionsButton.x, optionsButton.y)
-                callViewContextMenu.openMenu()
-                callViewContextMenu.x = rectPos.x + optionsButton.width/2 - callViewContextMenu.width/2
+                callViewContextMenu.x = rectPos.x + optionsButton.width / 2
+                        - callViewContextMenu.width / 2
                 callViewContextMenu.y = rectPos.y - 12 - callViewContextMenu.height
+                callViewContextMenu.openMenu()
             }
         }
 
diff --git a/src/mainview/components/VideoCallPage.qml b/src/mainview/components/VideoCallPage.qml
index 316c893ce3eb5f8f73fb62d2d6a97386d0e39162..41e7042f5ef848dcd7d72b2a3a431a6216d617f5 100644
--- a/src/mainview/components/VideoCallPage.qml
+++ b/src/mainview/components/VideoCallPage.qml
@@ -87,8 +87,6 @@ Rectangle {
     }
 
     function previewMagneticSnap() {
-
-
         // Calculate the position where the previewRenderer should attach to.
         var previewRendererCenter = Qt.point(
                     previewRenderer.x + previewRenderer.width / 2,
@@ -99,8 +97,6 @@ Rectangle {
 
         if (previewRendererCenter.x >= distantRendererCenter.x) {
             if (previewRendererCenter.y >= distantRendererCenter.y) {
-
-
                 // Bottom right.
                 previewToX = Qt.binding(function () {
                     return videoCallPageMainRect.width - previewRenderer.width - previewMargin
@@ -109,8 +105,6 @@ Rectangle {
                     return videoCallPageMainRect.height - previewRenderer.height - previewMarginY
                 })
             } else {
-
-
                 // Top right.
                 previewToX = Qt.binding(function () {
                     return videoCallPageMainRect.width - previewRenderer.width - previewMargin
@@ -119,16 +113,12 @@ Rectangle {
             }
         } else {
             if (previewRendererCenter.y >= distantRendererCenter.y) {
-
-
                 // Bottom left.
                 previewToX = previewMargin
                 previewToY = Qt.binding(function () {
                     return videoCallPageMainRect.height - previewRenderer.height - previewMarginY
                 })
             } else {
-
-
                 // Top left.
                 previewToX = previewMargin
                 previewToY = previewMarginY
@@ -152,7 +142,6 @@ Rectangle {
             color: SplitHandle.pressed ? JamiTheme.pressColor : (SplitHandle.hovered ? JamiTheme.hoverColor : JamiTheme.tabbarBorderColor)
         }
 
-
         Rectangle {
             id: videoCallPageMainRect
             SplitView.preferredHeight: (videoCallPageRect.height / 3) * 2
@@ -236,7 +225,6 @@ Rectangle {
                 VideoCallPreviewRenderer {
                     id: previewRenderer
 
-
                     // Property is used in the {} expression for height (extra dependency),
                     // it will not affect the true height expression, since expression
                     // at last will be taken only, but it will force the height to update
@@ -298,8 +286,6 @@ Rectangle {
                         }
 
                         onPositionChanged: {
-
-
                             // Calculate mouse position relative change.
                             var delta = Qt.point(mouse.x - clickPos.x,
                                                 mouse.y - clickPos.y)
@@ -327,7 +313,6 @@ Rectangle {
             color: "transparent"
         }
 
-
         StackView {
             id: inVideoCallMessageWebViewStack
 
@@ -340,6 +325,16 @@ Rectangle {
         }
     }
 
+    MouseArea {
+        anchors.fill: parent
+
+        acceptedButtons: Qt.RightButton
+
+        onClicked: {
+            videoCallOverlay.openCallViewContextMenuInPos(mouse.x, mouse.y)
+        }
+    }
+
     onBestNameChanged: {
         ContactAdapter.setCalleeDisplayName(bestName)
     }