diff --git a/src/nautilus-list-view.c b/src/nautilus-list-view.c
index 6e43230..c4d6167 100644
--- a/src/nautilus-list-view.c
+++ b/src/nautilus-list-view.c
@@ -150,6 +150,14 @@ static void   nautilus_list_view_rename_callback                 (NautilusFile
 
 G_DEFINE_TYPE (NautilusListView, nautilus_list_view, NAUTILUS_TYPE_VIEW);
 
+static const char * default_search_visible_columns[] = {
+	"name", "size", "type", "where", NULL
+};
+
+static const char * default_search_columns_order[] = {
+	"name", "size", "type", "where", NULL
+};
+
 static const char * default_trash_visible_columns[] = {
 	"name", "size", "type", "trashed_on", "trash_orig_path", NULL
 };
@@ -1734,6 +1742,7 @@ nautilus_list_view_add_file (NautilusView *view, NautilusFile *file, NautilusDir
 static char **
 get_visible_columns (NautilusListView *list_view)
 {
+	NautilusDirectory *directory;
 	NautilusFile *file;
 	GList *visible_columns;
 	char **ret;
@@ -1764,10 +1773,23 @@ get_visible_columns (NautilusListView *list_view)
 		return ret;
 	}
 
-	return nautilus_file_is_in_trash (file) ?
-		g_strdupv ((gchar **) default_trash_visible_columns) :
-		g_settings_get_strv (nautilus_list_view_preferences,
-				     NAUTILUS_PREFERENCES_LIST_VIEW_DEFAULT_VISIBLE_COLUMNS);
+	if (nautilus_file_is_in_trash (file)) {
+		return g_strdupv ((gchar **) default_trash_visible_columns);
+	}
+
+	directory = nautilus_directory_get_for_file (file);
+	if (NAUTILUS_IS_SEARCH_DIRECTORY (directory)) {
+		ret = g_strdupv ((gchar **) default_search_visible_columns);
+	}
+	nautilus_directory_unref (directory);
+
+	if (ret != NULL) {
+		return ret;
+	}
+
+	return g_settings_get_strv (nautilus_list_view_preferences,
+				    NAUTILUS_PREFERENCES_LIST_VIEW_DEFAULT_VISIBLE_COLUMNS);
+
 }
 
 static char **
