diff --git a/gnomemusic/searchbar.py b/gnomemusic/searchbar.py
index 27d8648..88f5396 100644
--- a/gnomemusic/searchbar.py
+++ b/gnomemusic/searchbar.py
@@ -52,5 +52,9 @@ class Searchbar(Gd.Revealer):
 
     def search_entry_changed(self, widget):
         self.search_term = self._search_entry.get_text()
-        if self.view:
-            self.view.filter.refilter()
+
+        try:
+            if self.view:
+                self.view.filter.refilter()
+        except AttributeError:
+            pass
diff --git a/gnomemusic/window.py b/gnomemusic/window.py
index daa27f0..16e1cb6 100644
--- a/gnomemusic/window.py
+++ b/gnomemusic/window.py
@@ -189,6 +189,8 @@ class Window(Gtk.ApplicationWindow):
             self._show_searchbar(False)
             if self.toolbar._selectionMode:
                 self.toolbar.set_selection_mode(False)
+        elif (event.state & modifiers) == 0 and not self.toolbar.searchbar.get_reveal_child():
+            self._show_searchbar(True)
 
     def _notify_mode_disconnect(self, data=None):
         self._stack.disconnect(self._on_notify_model_id)
