diff --git a/resources/qml/MessageView.qml b/resources/qml/MessageView.qml
index 7f39791fb8447a75a051c40ab413c7db923e7afa..573c8344104b5a546561c66b2e7b271323eee878 100644
--- a/resources/qml/MessageView.qml
+++ b/resources/qml/MessageView.qml
@@ -348,6 +348,7 @@ Item {
                     }
                     property int remainingWidth: chat.delegateMaxWidth - spacing - messageUserAvatar.width
                     AbstractButton {
+                        id: userNameButton
                         contentItem: ElidedLabel {
                             id: userName_
                             fullText: userName
@@ -373,12 +374,21 @@ Item {
 
                     Label {
                         id: statusMsg
+                        anchors.baseline: userNameButton.baseline
                         color: Nheko.colors.buttonText
                         text: Presence.userStatus(userId)
                         textFormat: Text.PlainText
                         elide: Text.ElideRight
-                        width: userInfo.remainingWidth - userName_.width - parent.spacing
+                        width: Math.min(implicitWidth, userInfo.remainingWidth - userName_.width - parent.spacing)
                         font.italic: true
+                        font.pointSize: Math.floor(fontMetrics.font.pointSize * 0.8)
+                        ToolTip.text: qsTr("%1's status message").arg(userName)
+                        ToolTip.visible: statusMsgHoverHandler.hovered
+                        ToolTip.delay: Nheko.tooltipDelay
+
+                        HoverHandler {
+                            id: statusMsgHoverHandler
+                        }
 
                         Connections {
                             target: Presence
diff --git a/resources/qml/dialogs/UserProfile.qml b/resources/qml/dialogs/UserProfile.qml
index 684ada8f9742bd0d85a8a2ec69c4361177ccec2b..75852245588fb15d67be5ba510e9c97899a3bb58 100644
--- a/resources/qml/dialogs/UserProfile.qml
+++ b/resources/qml/dialogs/UserProfile.qml
@@ -56,7 +56,7 @@ ApplicationWindow {
             id: contentL
 
             width: devicelist.width
-            spacing: 10
+            spacing: Nheko.paddingMedium
 
             Avatar {
                 id: displayAvatar
@@ -177,6 +177,28 @@ ApplicationWindow {
                 Layout.alignment: Qt.AlignHCenter
             }
 
+            MatrixText {
+                id: statusMsg
+                text: updateStatus()
+                visible: Presence.userStatus(profile.userid) != ""
+                Layout.alignment: Qt.AlignHCenter
+                Layout.fillWidth: true
+                horizontalAlignment: TextEdit.AlignHCenter
+                Layout.leftMargin: Nheko.paddingMedium
+                Layout.rightMargin: Nheko.paddingMedium
+                font.pointSize: Math.floor(fontMetrics.font.pointSize * 0.9)
+
+                function updateStatus(){
+                    return qsTr("<i><b>Status:</b> %1</i>").arg(Presence.userStatus(profile.userid))
+                }
+                Connections {
+                    target: Presence
+                    function onPresenceChanged(id) {
+                        if (id == profile.userid) statusMsg.text = statusMsg.updateStatus();
+                    }
+                }
+            }
+
             RowLayout {
                 visible: !profile.isGlobalUserProfile
                 Layout.alignment: Qt.AlignHCenter
@@ -295,6 +317,8 @@ ApplicationWindow {
             ColumnLayout {
                 spacing: 0
 
+                Layout.leftMargin: Nheko.paddingMedium
+                Layout.rightMargin: Nheko.paddingMedium
                 RowLayout {
                     Text {
                         Layout.fillWidth: true