diff --git a/src/commoncomponents/contextmenu/GeneralMenuItem.qml b/src/commoncomponents/contextmenu/GeneralMenuItem.qml
index e72dd6160285b41fb980d1aa371327e0407b4f53..d1069e9911805003a09f3f460b5da2fcbbe20117 100644
--- a/src/commoncomponents/contextmenu/GeneralMenuItem.qml
+++ b/src/commoncomponents/contextmenu/GeneralMenuItem.qml
@@ -45,6 +45,9 @@ MenuItem {
     property int leftBorderWidth: JamiTheme.menuItemsCommonBorderWidth
     property int rightBorderWidth: JamiTheme.menuItemsCommonBorderWidth
 
+    property int itemImageLeftMargin: 24
+    property int itemTextMargin: 20
+
     signal clicked
 
     contentItem: AbstractButton {
@@ -69,7 +72,7 @@ MenuItem {
                 id: contextMenuItemImage
 
                 Layout.alignment: Qt.AlignVCenter | Qt.AlignLeft
-                Layout.leftMargin: status === Image.Ready ? 24 : 0
+                Layout.leftMargin: status === Image.Ready ? itemImageLeftMargin : 0
 
                 visible: status === Image.Ready
 
@@ -81,28 +84,41 @@ MenuItem {
                 id: contextMenuItemText
 
                 Layout.alignment: Qt.AlignVCenter | Qt.AlignLeft
-                Layout.leftMargin: contextMenuItemImage.status === Image.Ready ? 20 : 10
-                Layout.rightMargin: contextMenuItemImage.status === Image.Ready ? 20 : 10
+                Layout.leftMargin: contextMenuItemImage.status === Image.Ready ?
+                                       itemTextMargin : itemTextMargin / 2
+                Layout.rightMargin: contextMenuItemImage.status === Image.Ready ?
+                                        itemTextMargin : itemTextMargin / 2
                 Layout.preferredHeight: itemPreferredHeight
-                Layout.preferredWidth: JamiTheme.contextMenuItemTextPreferredWidth
+                Layout.fillWidth: true
 
                 text: itemName
                 color: JamiTheme.textColor
                 font.pointSize: JamiTheme.textFontSize
                 horizontalAlignment: Text.AlignLeft
                 verticalAlignment: Text.AlignVCenter
-                elide: Text.ElideRight
-
-                onWidthChanged: {
-                    if (autoTextSizeAdjustment
-                            && width > contextMenuItemText.Layout.preferredWidth) {
-                        if (width > JamiTheme.contextMenuItemTextMaxWidth)
-                            contextMenuItemText.Layout.preferredWidth
-                                    = JamiTheme.contextMenuItemTextMaxWidth
-                        else
-                            contextMenuItemText.Layout.preferredWidth = width
-                        itemPreferredWidth += contextMenuItemText.Layout.preferredWidth
-                                - JamiTheme.contextMenuItemTextPreferredWidth
+
+                TextMetrics {
+                    id: contextMenuItemTextMetrics
+
+                    font: contextMenuItemText.font
+                    text: contextMenuItemText.text
+
+                    onBoundingRectChanged: {
+                        var sizeToCompare = itemPreferredWidth -
+                                (contextMenuItemImage.source.toString().length > 0 ?
+                                     itemTextMargin + itemImageLeftMargin + contextMenuItemImage.width :
+                                     itemTextMargin / 2)
+                        if (autoTextSizeAdjustment
+                                && boundingRect.width > sizeToCompare) {
+                            if (boundingRect.width > JamiTheme.contextMenuItemTextMaxWidth) {
+                                itemPreferredWidth += JamiTheme.contextMenuItemTextMaxWidth
+                                        - JamiTheme.contextMenuItemTextPreferredWidth
+                                        + itemTextMargin
+                                contextMenuItemText.elide = Text.ElideRight
+                            } else
+                                itemPreferredWidth += boundingRect.width + itemTextMargin
+                                        - sizeToCompare
+                        }
                     }
                 }
             }
diff --git a/src/constant/JamiTheme.qml b/src/constant/JamiTheme.qml
index 345fa04a1d895190a3866a628d93585fdb91b3ab..d39931aec5a9fc5a15056f7d5cfaf441dd57de36 100644
--- a/src/constant/JamiTheme.qml
+++ b/src/constant/JamiTheme.qml
@@ -198,7 +198,7 @@ Item {
     property real avatarSizeInCall: 130
     property real aboutButtonPreferredWidth: 150
     property real callButtonPreferredSize: 50
-    property real contextMenuItemTextPreferredWidth: 142
+    property real contextMenuItemTextPreferredWidth: 152
     property real contextMenuItemTextMaxWidth: 182
     property int participantCallInStatusViewWidth: 175
     property int participantCallInStatusViewHeight: 300