diff --git a/src/MemberList.cpp b/src/MemberList.cpp
index f13d9ff9e6f4ed6939c55a8fe8249fcbaea77c99..fcd9d624116038545574bc3149380ab97c9bedc8 100644
--- a/src/MemberList.cpp
+++ b/src/MemberList.cpp
@@ -147,6 +147,7 @@ MemberList::MemberList(const QString &room_id, QObject *parent)
 void
 MemberList::setFilterString(const QString &text)
 {
+    filterString = text;
     setFilterFixedString(text);
 }
 
@@ -161,6 +162,6 @@ MemberList::sortBy(const MemberSortRoles role)
 bool
 MemberList::filterAcceptsRow(int source_row, const QModelIndex &) const
 {
-    return m_model.m_memberList[source_row].first.user_id.contains(filterRegularExpression()) ||
-           m_model.m_memberList[source_row].first.display_name.contains(filterRegularExpression());
+    return m_model.m_memberList[source_row].first.user_id.contains(filterString) ||
+           m_model.m_memberList[source_row].first.display_name.contains(filterString);
 }
diff --git a/src/MemberList.h b/src/MemberList.h
index 2f90e5e84bd96620c1f4ff372951bdf3a863c47c..1fbccc63736ee88bb819e99a80f974360b886594 100644
--- a/src/MemberList.h
+++ b/src/MemberList.h
@@ -122,5 +122,6 @@ protected:
     bool filterAcceptsRow(int source_row, const QModelIndex &source_parent) const override;
 
 private:
+    QString filterString;
     MemberListBackend m_model;
 };