diff --git a/src/UserSettingsPage.cpp b/src/UserSettingsPage.cpp
index ace8bab..4e13488 100644
--- a/src/UserSettingsPage.cpp
+++ b/src/UserSettingsPage.cpp
@@ -437,15 +437,12 @@ UserSettingsPage::resizeEvent(QResizeEvent *event)
 {
         auto preWidth_ = width();
 
-        formLayout_->setContentsMargins(0, LayoutTopMargin, 0, LayoutBottomMargin);
-        double contentMinWidth = formLayout_->minimumSize().width();
-
-        if (preWidth_ * 0.6 > contentMinWidth)
-                sideMargin_ = preWidth_ * 0.2;
+        if (preWidth_ * 0.5 > LayoutMinWidth)
+                sideMargin_ = preWidth_ * 0.25;
         else
-                sideMargin_ = static_cast<double>(preWidth_ - contentMinWidth) / 2.;
+                sideMargin_ = static_cast<double>(preWidth_ - LayoutMinWidth) / 2.;
 
-        if (sideMargin_ < 40)
+        if (sideMargin_ < 60)
                 sideMargin_ = 0;
 
         formLayout_->setContentsMargins(
diff --git a/src/UserSettingsPage.h b/src/UserSettingsPage.h
index ef8258b..2b58841 100644
--- a/src/UserSettingsPage.h
+++ b/src/UserSettingsPage.h
@@ -33,6 +33,11 @@ constexpr int OptionMargin       = 6;
 constexpr int LayoutTopMargin    = 50;
 constexpr int LayoutBottomMargin = LayoutTopMargin;
 
+// based on the width of the widest item currently in the layout (deviceFingerprintValue_)
+// used for recalculating the margins of the formLayout_ on resize to help with small screens and
+// mobile devices.
+constexpr int LayoutMinWidth = 385;
+
 class UserSettings : public QObject
 {
         Q_OBJECT