diff --git a/resources/qml/ChatPage.qml b/resources/qml/ChatPage.qml
index cd323a97b56961554ca54308cbfc2562b19bae13..3fa55b4213dd56bcbc2bd729edf83ed63683c0bc 100644
--- a/resources/qml/ChatPage.qml
+++ b/resources/qml/ChatPage.qml
@@ -23,6 +23,8 @@ Rectangle {
         AdaptiveLayoutElement {
             id: communityListC
 
+            visible: Settings.groupView
+
             minimumWidth: communitiesList.avatarSize * 4 + Nheko.paddingMedium * 2
             collapsedWidth: communitiesList.avatarSize + 2 * Nheko.paddingMedium
             preferredWidth: Settings.communityListWidth >= minimumWidth ? Settings.communityListWidth : collapsedWidth
diff --git a/src/UserSettingsPage.cpp b/src/UserSettingsPage.cpp
index 6c0d8728f726d8d0ec421409a9c2613aa51918f1..740b89790e868cbbfee013230cfce0eaad8fe812 100644
--- a/src/UserSettingsPage.cpp
+++ b/src/UserSettingsPage.cpp
@@ -179,10 +179,11 @@ UserSettings::setMobileMode(bool state)
 void
 UserSettings::setGroupView(bool state)
 {
-        if (groupView_ != state)
-                emit groupViewStateChanged(state);
+        if (groupView_ == state)
+                return;
 
         groupView_ = state;
+        emit groupViewStateChanged(state);
         save();
 }