diff --git a/thunar/thunar-tree-view-model.c b/thunar/thunar-tree-view-model.c
index baf47b93effac522b8063f6ffe548b33d6249d77..58bf2f7c81ea558fe1890a7da98e07ccbecba3b5 100644
--- a/thunar/thunar-tree-view-model.c
+++ b/thunar/thunar-tree-view-model.c
@@ -2942,10 +2942,15 @@ thunar_tree_view_model_update_search_files (ThunarTreeViewModel *model)
 
   for (GList *lp = model->search_files; lp != NULL; lp = lp->next)
     {
-      /* take a reference on that file */
-      file = THUNAR_FILE (g_object_ref (G_OBJECT (lp->data)));
-      _thunar_return_val_if_fail (THUNAR_IS_FILE (file), TRUE);
+      file = THUNAR_FILE (lp->data);
+      if (THUNAR_IS_FILE (file) == FALSE)
+        {
+          g_warning ("failed to add file to search results");
+          continue;
+        }
 
+      /* take a reference on that file */
+      g_object_ref (file);
       name_n = (gchar *) thunar_file_get_display_name (file);
       name_n = thunar_g_utf8_normalize_for_search (name_n, TRUE, TRUE);
       matched = thunar_util_search_terms_match (model->search_terms, name_n);