diff --git a/src/search-tool/search-tool.c b/src/search-tool/search-tool.c
index 494453e..ab3e7ea 100644
--- a/src/search-tool/search-tool.c
+++ b/src/search-tool/search-tool.c
@@ -60,7 +60,7 @@ static GArray * selection;
 static bool_t adding;
 static int search_source;
 
-static GtkWidget * entry, * help_label, * wait_label, * scrolled, * results_list;
+static GtkWidget * entry, * help_label, * wait_label, * scrolled, * results_list, * button_top;
 
 static void item_free (Item * item);
 
@@ -143,6 +143,7 @@ static void set_search_phrase (const char * phrase)
     char * folded = str_tolower_utf8 (phrase);
     index_free_full (search_terms, (IndexFreeFunc) str_unref);
     search_terms = str_list_to_index (folded, " ");
+
     str_unref (folded);
 }
 
@@ -269,10 +270,12 @@ static void search_cb (void * key, void * _item, void * _state)
         if (! (state->mask & bit))
             continue; /* skip term if it is already found */
 
-        if (strstr (item->folded, index_get (search_terms, t)))
-            state->mask &= ~bit; /* we found it */
-        else if (! item->children)
+        if (strstr (item->folded, index_get (search_terms, t))) {
+            if (!gtk_toggle_button_get_active(button_top) ||item->matches->len > 2)
+                state->mask &= ~bit; /* we found it */
+        } else if (! item->children) {
             break; /* quit early if there are no children to search */
+        }
     }
 
     if (! state->mask)
@@ -707,12 +710,19 @@ static void refresh_cb (GtkButton * button, GtkWidget * chooser)
 static void * search_get_widget (void)
 {
     GtkWidget * vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 6);
+    GtkWidget * hbox_top = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6);
 
     entry = gtk_entry_new ();
     gtk_entry_set_icon_from_icon_name ((GtkEntry *) entry, GTK_ENTRY_ICON_PRIMARY, "edit-find");
     gtk_entry_set_placeholder_text ((GtkEntry *) entry, _("Search library"));
     g_signal_connect (entry, "destroy", (GCallback) gtk_widget_destroyed, & entry);
-    gtk_box_pack_start ((GtkBox *) vbox, entry, FALSE, FALSE, 0);
+    gtk_box_pack_start ((GtkBox *) hbox_top, entry, FALSE, FALSE, 0);
+
+    button_top = gtk_toggle_button_new_with_mnemonic ("_*");
+    g_signal_connect (button, "toggled", (GCallback) do_search, NULL);
+
+    gtk_box_pack_start ((GtkBox *) hbox_top, button_top, FALSE, FALSE, 0);
+    gtk_box_pack_start ((GtkBox *) vbox, hbox_top, FALSE, FALSE, 0);
 
     help_label = gtk_label_new (_("To import your music library into "
      "Audacious, choose a folder and then click the \"refresh\" icon."));
