diff --git a/src/nautilus-toolbar.c b/src/nautilus-toolbar.c
index f367300..98ed951 100644
--- a/src/nautilus-toolbar.c
+++ b/src/nautilus-toolbar.c
@@ -43,6 +43,7 @@ struct _NautilusToolbarPriv {
 	GtkWidget *path_bar;
 	GtkWidget *location_bar;
 	GtkWidget *search_bar;
+	GtkWidget *search_button;
 
 	gboolean show_main_bar;
 	gboolean show_location_entry;
@@ -79,6 +80,8 @@ toolbar_update_appearance (NautilusToolbar *self)
 
 	gtk_widget_set_visible (self->priv->search_bar,
 				self->priv->show_search_bar);
+	gtk_toggle_tool_button_set_active (GTK_TOGGLE_TOOL_BUTTON (self->priv->search_button),
+					   self->priv->show_search_bar);
 }
 
 static void
@@ -108,6 +111,7 @@ nautilus_toolbar_constructed (GObject *obj)
 	gtk_style_context_add_class (context, GTK_STYLE_CLASS_PRIMARY_TOOLBAR);
 
 	search = gtk_ui_manager_get_widget (self->priv->ui_manager, "/Toolbar/Search");
+	self->priv->search_button = search;
 	gtk_style_context_add_class (gtk_widget_get_style_context (search), GTK_STYLE_CLASS_RAISED);
 	gtk_widget_set_name (search, "nautilus-search-button");
 
