diff --git a/src/RoomInfoListItem.cpp b/src/RoomInfoListItem.cpp
index d7537d643f20ce4a9cc27183ac8adf81021d9006..bac7ce51696f20f8bae29490aef821fda73e9432 100644
--- a/src/RoomInfoListItem.cpp
+++ b/src/RoomInfoListItem.cpp
@@ -329,29 +329,32 @@ RoomInfoListItem::updateUnreadMessageCount(int count, int highlightedCount)
         update();
 }
 
-enum NotificationImportance : unsigned short
+enum NotificationImportance : short
 {
-        AllEventsRead  = 0,
-        NewMinorEvents = 1,
-        NewMessage     = 2,
-        NewMentions    = 3,
-        Invite         = 4
+        ImportanceDisabled = -1,
+        AllEventsRead      = 0,
+        NewMinorEvents     = 1, // This is currently unused
+        NewMessage         = 2,
+        NewMentions        = 3,
+        Invite             = 4
 };
 
 unsigned short int
 RoomInfoListItem::calculateImportance() const
 {
         // Returns the degree of importance of the unread messages in the room.
-        // If ignoreMinorEvents is set to true in the settings, then
-        // NewMinorEvents will always be rounded down to AllEventsRead
-        if (isInvite()) {
+        // If sorting by importance is disabled in settings, this only ever
+        // returns ImportanceDisabled
+        if (!settings->isSortByImportanceEnabled()) {
+                return ImportanceDisabled;
+        } else if (isInvite()) {
                 return Invite;
         } else if (unreadHighlightedMsgCount_) {
                 return NewMentions;
         } else if (unreadMsgCount_) {
                 return NewMessage;
-        } else if (hasUnreadMessages_ && !settings->isIgnoreMinorEventsEnabled()) {
-                return NewMinorEvents;
+                // } else if (hasUnreadMessages_ && !settings->isIgnoreMinorEventsEnabled()) {
+                //         return NewMinorEvents;
         } else {
                 return AllEventsRead;
         }
diff --git a/src/UserSettingsPage.cpp b/src/UserSettingsPage.cpp
index 6a7c5b35550b2ffb15801ca8a83bf31044b3b1e9..6cd9a95cf641a6103b0091ff5c3a752bce5a234f 100644
--- a/src/UserSettingsPage.cpp
+++ b/src/UserSettingsPage.cpp
@@ -58,7 +58,7 @@ UserSettings::load()
         isButtonsInTimelineEnabled_   = settings.value("user/timeline/buttons", true).toBool();
         isMarkdownEnabled_            = settings.value("user/markdown_enabled", true).toBool();
         isTypingNotificationsEnabled_ = settings.value("user/typing_notifications", true).toBool();
-        ignoreMinorEvents_            = settings.value("user/minor_events", false).toBool();
+        sortByImportance_             = settings.value("user/sort_by_unread", true).toBool();
         isReadReceiptsEnabled_        = settings.value("user/read_receipts", true).toBool();
         theme_                        = settings.value("user/theme", defaultTheme_).toString();
         font_                         = settings.value("user/font_family", "default").toString();
@@ -136,7 +136,7 @@ UserSettings::save()
 
         settings.setValue("font_size", baseFontSize_);
         settings.setValue("typing_notifications", isTypingNotificationsEnabled_);
-        settings.setValue("minor_events", ignoreMinorEvents_);
+        settings.setValue("minor_events", sortByImportance_);
         settings.setValue("read_receipts", isReadReceiptsEnabled_);
         settings.setValue("group_view", isGroupViewEnabled_);
         settings.setValue("markdown_enabled", isMarkdownEnabled_);
@@ -199,7 +199,7 @@ UserSettingsPage::UserSettingsPage(QSharedPointer<UserSettings> settings, QWidge
         groupViewToggle_         = new Toggle{this};
         timelineButtonsToggle_   = new Toggle{this};
         typingNotifications_     = new Toggle{this};
-        ignoreMinorEvents_       = new Toggle{this};
+        sortByImportance_        = new Toggle{this};
         readReceipts_            = new Toggle{this};
         markdownEnabled_         = new Toggle{this};
         desktopNotifications_    = new Toggle{this};
@@ -303,7 +303,7 @@ UserSettingsPage::UserSettingsPage(QSharedPointer<UserSettings> settings, QWidge
         boxWrap(tr("Group's sidebar"), groupViewToggle_);
         boxWrap(tr("Show buttons in timeline"), timelineButtonsToggle_);
         boxWrap(tr("Typing notifications"), typingNotifications_);
-        boxWrap(tr("Ignore minor events in room list"), ignoreMinorEvents_);
+        boxWrap(tr("Sort rooms by unreads"), sortByImportance_);
         formLayout_->addRow(new HorizontalLine{this});
         boxWrap(tr("Read receipts"), readReceipts_);
         boxWrap(tr("Send messages as Markdown"), markdownEnabled_);
@@ -405,8 +405,8 @@ UserSettingsPage::UserSettingsPage(QSharedPointer<UserSettings> settings, QWidge
                 settings_->setTypingNotifications(!isDisabled);
         });
 
-        connect(ignoreMinorEvents_, &Toggle::toggled, this, [this](bool isDisabled) {
-                settings_->setIgnoreMinorEvents(!isDisabled);
+        connect(sortByImportance_, &Toggle::toggled, this, [this](bool isDisabled) {
+                settings_->setSortByImportance(!isDisabled);
         });
 
         connect(timelineButtonsToggle_, &Toggle::toggled, this, [this](bool isDisabled) {
@@ -447,7 +447,7 @@ UserSettingsPage::showEvent(QShowEvent *)
         groupViewToggle_->setState(!settings_->isGroupViewEnabled());
         avatarCircles_->setState(!settings_->isAvatarCirclesEnabled());
         typingNotifications_->setState(!settings_->isTypingNotificationsEnabled());
-        ignoreMinorEvents_->setState(!settings_->isIgnoreMinorEventsEnabled());
+        sortByImportance_->setState(!settings_->isSortByImportanceEnabled());
         timelineButtonsToggle_->setState(!settings_->isButtonsInTimelineEnabled());
         readReceipts_->setState(!settings_->isReadReceiptsEnabled());
         markdownEnabled_->setState(!settings_->isMarkdownEnabled());
diff --git a/src/UserSettingsPage.h b/src/UserSettingsPage.h
index d47ceb83d09f0b3523b00118c1b5aa4c5d7474a1..1c20214e3362c838e21b0f05f73f1d67f34966e8 100644
--- a/src/UserSettingsPage.h
+++ b/src/UserSettingsPage.h
@@ -87,9 +87,9 @@ public:
                 save();
         }
 
-        void setIgnoreMinorEvents(bool state)
+        void setSortByImportance(bool state)
         {
-                ignoreMinorEvents_ = state;
+                sortByImportance_ = state;
                 emit roomSortingChanged();
         }
 
@@ -118,7 +118,7 @@ public:
         bool isAvatarCirclesEnabled() const { return avatarCircles_; }
         bool isMarkdownEnabled() const { return isMarkdownEnabled_; }
         bool isTypingNotificationsEnabled() const { return isTypingNotificationsEnabled_; }
-        bool isIgnoreMinorEventsEnabled() const { return ignoreMinorEvents_; }
+        bool isSortByImportanceEnabled() const { return sortByImportance_; }
         bool isButtonsInTimelineEnabled() const { return isButtonsInTimelineEnabled_; }
         bool isReadReceiptsEnabled() const { return isReadReceiptsEnabled_; }
         bool hasDesktopNotifications() const { return hasDesktopNotifications_; }
@@ -142,7 +142,7 @@ private:
         bool isGroupViewEnabled_;
         bool isMarkdownEnabled_;
         bool isTypingNotificationsEnabled_;
-        bool ignoreMinorEvents_;
+        bool sortByImportance_;
         bool isButtonsInTimelineEnabled_;
         bool isReadReceiptsEnabled_;
         bool hasDesktopNotifications_;
@@ -194,7 +194,7 @@ private:
         Toggle *groupViewToggle_;
         Toggle *timelineButtonsToggle_;
         Toggle *typingNotifications_;
-        Toggle *ignoreMinorEvents_;
+        Toggle *sortByImportance_;
         Toggle *readReceipts_;
         Toggle *markdownEnabled_;
         Toggle *desktopNotifications_;