diff --git a/src/yuzu/game_list.cpp b/src/yuzu/game_list.cpp
index 48b78d65fe..827bc10e7d 100644
--- a/src/yuzu/game_list.cpp
+++ b/src/yuzu/game_list.cpp
@@ -85,8 +85,8 @@ void GameListSearchField::setFilterResult(int visible, int total) {
     label_filter_result->setText(tr("%1 of %n result(s)", "", total).arg(visible));
 }
 
-bool GameListSearchField::isEmpty() const {
-    return edit_filter->text().isEmpty();
+QString GameListSearchField::filterText() const {
+    return edit_filter->text();
 }
 
 QString GameList::GetLastFilterResultItem() const {
@@ -236,9 +236,9 @@ void GameList::OnTextChanged(const QString& new_text) {
                 } else {
                     tree_view->setRowHidden(j, folder_index, true);
                 }
-                search_field->setFilterResult(result_count, children_total);
             }
         }
+        search_field->setFilterResult(result_count, children_total);
     }
 }
 
@@ -595,6 +595,7 @@ void GameList::AddCustomDirPopup(QMenu& context_menu, QModelIndex selected) {
     connect(delete_dir, &QAction::triggered, [this, &game_dir, selected] {
         UISettings::values.game_dirs.removeOne(game_dir);
         item_model->invisibleRootItem()->removeRow(selected.row());
+        OnTextChanged(search_field->filterText());
     });
 }
 
@@ -774,7 +775,7 @@ void GameList::RefreshGameDirectory() {
 void GameList::ToggleFavorite(u64 program_id) {
     if (!UISettings::values.favorited_ids.contains(program_id)) {
         tree_view->setRowHidden(0, item_model->invisibleRootItem()->index(),
-                                !search_field->isEmpty());
+                                !search_field->filterText().isEmpty());
         UISettings::values.favorited_ids.append(program_id);
         AddFavorite(program_id);
         item_model->sort(tree_view->header()->sortIndicatorSection(),
diff --git a/src/yuzu/game_list_p.h b/src/yuzu/game_list_p.h
index 7ca8ece231..978d273257 100644
--- a/src/yuzu/game_list_p.h
+++ b/src/yuzu/game_list_p.h
@@ -346,8 +346,8 @@ class GameListSearchField : public QWidget {
 public:
     explicit GameListSearchField(GameList* parent = nullptr);
 
+    QString filterText() const;
     void setFilterResult(int visible, int total);
-    bool isEmpty() const;
 
     void clear();
     void setFocus();