diff --git a/src/timeline/InputBar.cpp b/src/timeline/InputBar.cpp
index 191aebdc736d0925918e529335f6076c7efbfbae..ba1d788038a47d2864d6e6bb3e43969a1313cb88 100644
--- a/src/timeline/InputBar.cpp
+++ b/src/timeline/InputBar.cpp
@@ -954,18 +954,17 @@ InputBar::command(const QString &command, QString args)
 void
 InputBar::toggleIgnore(const QString &user, const bool ignored)
 {
-    QSharedPointer<UserProfile> profile(
-      new UserProfile(QString(), user, TimelineViewManager::instance()));
-    connect(profile.get(), &UserProfile::failedToFetchProfile, [user] {
+    UserProfile *profile = new UserProfile(QString(), user, TimelineViewManager::instance());
+    connect(profile, &UserProfile::failedToFetchProfile, [user] {
         MainWindow::instance()->showNotification(tr("Failed to fetch user %1").arg(user));
     });
 
-    connect(profile.get(),
-            &UserProfile::globalUsernameRetrieved,
-            [profile, ignored](const QString &user_id) {
-                Q_UNUSED(user_id)
-                profile->setIgnored(ignored);
-            });
+    connect(
+      profile, &UserProfile::globalUsernameRetrieved, [profile, ignored](const QString &user_id) {
+          Q_UNUSED(user_id)
+          profile->setIgnored(ignored);
+          profile->deleteLater();
+      });
 }
 
 MediaUpload::MediaUpload(std::unique_ptr<QIODevice> source_,
diff --git a/src/ui/UserProfile.cpp b/src/ui/UserProfile.cpp
index ffb69aa42eddc2c3f67e47bc5fbc032b7ad1bd28..c7254e2341b7274dd9bf3fad0fa11fb0138e008e 100644
--- a/src/ui/UserProfile.cpp
+++ b/src/ui/UserProfile.cpp
@@ -281,9 +281,12 @@ UserProfile::setIgnored(bool ignore)
 
     if (ignore) {
         const QHash<QString, RoomInfo> invites = cache::invites();
+        FilteredRoomlistModel *room_model      = FilteredRoomlistModel::instance();
 
         for (auto room = invites.keyBegin(), end = invites.keyEnd(); room != end; room++) {
-            FilteredRoomlistModel::instance()->declineInvite(*room);
+            if (room_model->getRoomPreviewById(*room).inviterUserId() == userid) {
+                room_model->declineInvite(*room);
+            }
         }
     }
 }