diff --git a/libnautilus-private/nautilus-query.c b/libnautilus-private/nautilus-query.c
index 392aea3..5a73375 100644
--- a/libnautilus-private/nautilus-query.c
+++ b/libnautilus-private/nautilus-query.c
@@ -135,6 +135,8 @@ nautilus_query_to_readable_string (NautilusQuery *query)
 		return g_strdup (_("Search"));
 	}
 
+	/* XXX special-case query->details->text = "" ? */
+
 	return g_strdup_printf (_("Search for \"%s\""), query->details->text);
 }
 
diff --git a/libnautilus-private/nautilus-search-engine-simple.c b/libnautilus-private/nautilus-search-engine-simple.c
index a357704..7fbef1a 100644
--- a/libnautilus-private/nautilus-search-engine-simple.c
+++ b/libnautilus-private/nautilus-search-engine-simple.c
@@ -243,6 +243,7 @@ visit_directory (GFile *dir, SearchThreadData *data)
 		
 		hit = TRUE;
 		for (i = 0; data->words[i] != NULL; i++) {
+		/* Always matches the blank query string "", as data->words[0] = NULL */
 			if (strstr (lower_name, data->words[i]) == NULL) {
 				hit = FALSE;
 				break;
diff --git a/src/nautilus-navigation-window-menus.c b/src/nautilus-navigation-window-menus.c
index 20051da..6bd7901 100644
--- a/src/nautilus-navigation-window-menus.c
+++ b/src/nautilus-navigation-window-menus.c
@@ -711,14 +711,12 @@ action_show_hide_search_callback (GtkAction *action,
 			char *uri;
 
 			query = nautilus_query_editor_get_query (slot->query_editor);
-			if (query != NULL) {
-				uri = nautilus_query_get_location (query);
-				if (uri != NULL) {
-					location = g_file_new_for_uri (uri);
-					g_free (uri);
-				}
-				g_object_unref (query);
+			uri = nautilus_query_get_location (query);
+			if (uri != NULL) {
+				location = g_file_new_for_uri (uri);
+				g_free (uri);
 			}
+			g_object_unref (query);
 		}
 
 		/* Last try: use the home directory as the return location */
diff --git a/src/nautilus-query-editor.c b/src/nautilus-query-editor.c
index 6691be5..6679963 100644
--- a/src/nautilus-query-editor.c
+++ b/src/nautilus-query-editor.c
@@ -1158,14 +1158,8 @@ nautilus_query_editor_get_query (NautilusQueryEditor *editor)
 		return NULL;
 	}
 
-	query_text = gtk_entry_get_text (GTK_ENTRY (editor->details->entry));
-
-	/* Empty string is a NULL query */
-	if (query_text && query_text[0] == '\0') {
-		return NULL;
-	}
-	
 	query = nautilus_query_new ();
+	query_text = gtk_entry_get_text (GTK_ENTRY (editor->details->entry));
 	nautilus_query_set_text (query, query_text);
 
 	for (l = editor->details->rows; l != NULL; l = l->next) {
@@ -1289,10 +1283,6 @@ nautilus_query_editor_set_query (NautilusQueryEditor *editor, NautilusQuery *que
 
 	text = nautilus_query_get_text (query);
 
-	if (!text) {
-		text = g_strdup ("");
-	}
-
 	editor->details->change_frozen = TRUE;
 	gtk_entry_set_text (GTK_ENTRY (editor->details->entry), text);
 
diff --git a/src/nautilus-search-bar.c b/src/nautilus-search-bar.c
index 567444b..f6551eb 100644
--- a/src/nautilus-search-bar.c
+++ b/src/nautilus-search-bar.c
@@ -103,16 +103,6 @@ nautilus_search_bar_class_init (NautilusSearchBarClass *class)
 	gtk_binding_entry_add_signal (binding_set, GDK_KEY_Escape, 0, "cancel", 0);
 }
 
-static gboolean
-entry_has_text (NautilusSearchBar *bar)
-{
-       const char *text;
-
-       text = gtk_entry_get_text (GTK_ENTRY (bar->details->entry));
-
-       return text != NULL && text[0] != '\0';
-}
-
 static void
 entry_icon_release_cb (GtkEntry *entry,
 		       GtkEntryIconPosition position,
@@ -125,7 +115,7 @@ entry_icon_release_cb (GtkEntry *entry,
 static void
 entry_activate_cb (GtkWidget *entry, NautilusSearchBar *bar)
 {
-       if (entry_has_text (bar) && !bar->details->entry_borrowed) {
+       if (!bar->details->entry_borrowed) {
                g_signal_emit (bar, signals[ACTIVATE], 0);
        }
 }
@@ -226,14 +216,8 @@ nautilus_search_bar_get_query (NautilusSearchBar *bar)
 	const char *query_text;
 	NautilusQuery *query;
 
-	query_text = gtk_entry_get_text (GTK_ENTRY (bar->details->entry));
-
-	/* Empty string is a NULL query */
-	if (query_text && query_text[0] == '\0') {
-		return NULL;
-	}
-	
 	query = nautilus_query_new ();
+	query_text = gtk_entry_get_text (GTK_ENTRY (bar->details->entry));
 	nautilus_query_set_text (query, query_text);
 
 	return query;
