diff --git a/include/dialogs/MemberList.hpp b/include/dialogs/MemberList.hpp
index 09a56aa..bdc1148 100644
--- a/include/dialogs/MemberList.hpp
+++ b/include/dialogs/MemberList.hpp
@@ -45,9 +45,15 @@ public slots:
 
 protected:
         void paintEvent(QPaintEvent *event) override;
-        void moveButtonToBottom();
+        void hideEvent(QHideEvent *event) override
+        {
+                list_->clear();
+                QFrame::hideEvent(event);
+        }
 
 private:
+        void moveButtonToBottom();
+
         QString room_id_;
         QLabel *topLabel_;
         QListWidget *list_;
diff --git a/include/dialogs/ReadReceipts.h b/include/dialogs/ReadReceipts.h
index bd4e4fc..5e5615d 100644
--- a/include/dialogs/ReadReceipts.h
+++ b/include/dialogs/ReadReceipts.h
@@ -44,6 +44,11 @@ public slots:
 
 protected:
         void paintEvent(QPaintEvent *event) override;
+        void hideEvent(QHideEvent *event) override
+        {
+                userList_->clear();
+                QFrame::hideEvent(event);
+        }
 
 private:
         QLabel *topLabel_;
diff --git a/src/dialogs/MemberList.cpp b/src/dialogs/MemberList.cpp
index 26f526d..2d43502 100644
--- a/src/dialogs/MemberList.cpp
+++ b/src/dialogs/MemberList.cpp
@@ -3,6 +3,8 @@
 #include <QStyleOption>
 #include <QVBoxLayout>
 
+#include "AvatarProvider.h"
+#include "ChatPage.h"
 #include "Config.h"
 #include "FlatButton.h"
 #include "Utils.h"
@@ -29,6 +31,11 @@ MemberItem::MemberItem(const RoomMember &member, QWidget *parent)
 
         if (!member.avatar.isNull())
                 avatar_->setImage(member.avatar);
+        else
+                AvatarProvider::resolve(ChatPage::instance()->currentRoom(),
+                                        member.user_id,
+                                        this,
+                                        [this](const QImage &img) { avatar_->setImage(img); });
 
         QFont nameFont, idFont;
         nameFont.setWeight(65);