diff --git a/src/appsettingsmanager.h b/src/appsettingsmanager.h
index 5c6586b1924e573bde4ac83401f48f26d45ad434..f316d9b74f832d78bf1d71d4083253c4f606dc45 100644
--- a/src/appsettingsmanager.h
+++ b/src/appsettingsmanager.h
@@ -44,6 +44,7 @@ extern const QString defaultDownloadPath;
     X(EnableDarkTheme, false) \
     X(AutoUpdate, true) \
     X(StartMinimized, false) \
+    X(ShowChatviewHorizontally, true) \
     X(NeverShowMeAgain, false) \
     X(WindowGeometry, QRectF(qQNaN(), qQNaN(), 0., 0.)) \
     X(WindowState, QWindow::AutomaticVisibility)
diff --git a/src/constant/JamiStrings.qml b/src/constant/JamiStrings.qml
index 0c7c73af938b93cd745e65b04fb6ee0edf1bb7f9..5359dfdb9cc2011d0da90ddb085c6383a0e3affd 100644
--- a/src/constant/JamiStrings.qml
+++ b/src/constant/JamiStrings.qml
@@ -375,6 +375,9 @@ Item {
     property string chatview: qsTr("Chatview")
     property string enableTypingIndicator: qsTr("Enable typing indicators")
     property string displayHyperlinkPreviews: qsTr("Display hyperlink previews in the chatview")
+    property string chatviewPositionInCall: qsTr("Chatview's position in calls")
+    property string bottomOpt: qsTr("Bottom")
+    property string rightOpt: qsTr("Right")
 
     // File transfer settings
     property string fileTransfer: qsTr("File transfer")
diff --git a/src/mainview/components/OngoingCallPage.qml b/src/mainview/components/OngoingCallPage.qml
index 2fedf07c5907294ecbc81ff8024a1f5a93527d81..13f6ded2f3adbecfb2a910d8e958e3cee18bdb3a 100644
--- a/src/mainview/components/OngoingCallPage.qml
+++ b/src/mainview/components/OngoingCallPage.qml
@@ -25,6 +25,7 @@ import Qt5Compat.GraphicalEffects
 
 import net.jami.Models 1.1
 import net.jami.Adapters 1.1
+import net.jami.Enums 1.1
 import net.jami.Constants 1.1
 
 import "../../commoncomponents"
@@ -64,6 +65,7 @@ Rectangle {
     }
 
     function openInCallConversation() {
+        mainColumnLayout.isHorizontal = UtilsAdapter.getAppValue(Settings.Key.ShowChatviewHorizontally)
         inCallMessageWebViewStack.visible = true
         inCallMessageWebViewStack.push(linkedWebview)
     }
@@ -127,11 +129,12 @@ Rectangle {
 
         anchors.fill: parent
 
-        orientation: Qt.Vertical
+        property bool isHorizontal: false // Calculated when showing the stack view
+        orientation: isHorizontal ? Qt.Horizontal : Qt.Vertical
 
         handle: Rectangle {
-            implicitWidth: root.width
-            implicitHeight: JamiTheme.splitViewHandlePreferredWidth
+            implicitWidth: isHorizontal ? JamiTheme.splitViewHandlePreferredWidth : root.width
+            implicitHeight: isHorizontal ? root.height : JamiTheme.splitViewHandlePreferredWidth
             color: SplitHandle.pressed ? JamiTheme.pressColor :
                                          (SplitHandle.hovered ? JamiTheme.hoverColor :
                                                                 JamiTheme.tabbarBorderColor)
@@ -139,9 +142,11 @@ Rectangle {
 
         Rectangle {
             id: callPageMainRect
-            SplitView.preferredHeight: (root.height / 3) * 2
+            SplitView.preferredHeight: mainColumnLayout.isHorizontal ? root.height : (root.height / 3) * 2
+            SplitView.preferredWidth: mainColumnLayout.isHorizontal ? (root.width / 3) * 2 : root.width
             SplitView.minimumHeight: root.height / 2 + 20
-            SplitView.fillWidth: true
+            SplitView.minimumWidth: root.width / 2 + 20
+            SplitView.fillWidth: !mainColumnLayout.isHorizontal
 
             MouseArea {
                 anchors.fill: parent
@@ -379,8 +384,9 @@ Rectangle {
         StackView {
             id: inCallMessageWebViewStack
 
-            SplitView.preferredHeight: root.height / 3
-            SplitView.fillWidth: true
+            SplitView.preferredHeight: mainColumnLayout.isHorizontal ? root.height : root.height / 3
+            SplitView.preferredWidth: mainColumnLayout.isHorizontal ? root.width / 3 : root.width
+            SplitView.fillWidth: false
 
             visible: false
 
diff --git a/src/settingsview/components/ChatviewSettings.qml b/src/settingsview/components/ChatviewSettings.qml
index ba5c13fec3b64fff7a91a69c3b01e6a33f761784..214ff3fcb9960788c2b5d979c997eddd7c93c9f7 100644
--- a/src/settingsview/components/ChatviewSettings.qml
+++ b/src/settingsview/components/ChatviewSettings.qml
@@ -77,4 +77,32 @@ ColumnLayout {
             UtilsAdapter.setAppValue(Settings.Key.DisplayHyperlinkPreviews, checked)
         }
     }
+
+    SettingsComboBox {
+        id: outputComboBoxSetting
+
+        Layout.fillWidth: true
+        Layout.preferredHeight: JamiTheme.preferredFieldHeight
+        Layout.leftMargin: JamiTheme.preferredMarginSize
+
+        labelText: JamiStrings.chatviewPositionInCall
+        fontPointSize: JamiTheme.settingsFontSize
+        comboModel: ListModel {
+            Component.onCompleted: {
+                append({ textDisplay: JamiStrings.bottomOpt })
+                append({ textDisplay: JamiStrings.rightOpt })
+            }
+        }
+        widthOfComboBox: itemWidth
+        role: "textDisplay"
+
+        modelIndex: UtilsAdapter.getAppValue(Settings.Key.ShowChatviewHorizontally) ? 1 : 0
+
+        onActivated: {
+            UtilsAdapter.setAppValue(
+                Settings.Key.ShowChatviewHorizontally,
+                comboModel.get(modelIndex).textDisplay === JamiStrings.rightOpt
+            )
+        }
+    }
 }