diff --git a/gtk/gtkicontheme.c b/gtk/gtkicontheme.c
index 2ce68fd..7b236da 100644
--- a/gtk/gtkicontheme.c
+++ b/gtk/gtkicontheme.c
@@ -903,7 +903,7 @@ gtk_icon_theme_finalize (GObject *object)
  * the right name is found directly in one of the elements of
  * @path, then that image will be used for the icon name.
  * (This is legacy feature, and new icons should be put
- * into the default icon theme, which is called DEFAULT_THEME_NAME,
+ * into the default icon theme, which is called hicolor,
  * rather than directly on the icon path.)
  *
  * Since: 2.4
@@ -1637,23 +1637,6 @@ choose_icon (GtkIconTheme       *icon_theme,
 
   use_builtin = flags & GTK_ICON_LOOKUP_USE_BUILTIN;
 
-  /* for symbolic icons, do a search in all registered themes first;
-   * a theme that inherits them from a parent theme might provide
-   * an alternative highcolor version, but still expect the symbolic icon
-   * to show up instead.
-   */
-  if (icon_names[0] &&
-      g_str_has_suffix (icon_names[0], "-symbolic"))
-    {
-      for (l = priv->themes; l; l = l->next)
-        {
-          IconTheme *theme = l->data;
-          icon_info = theme_lookup_icon (theme, icon_names[0], size, scale, allow_svg, use_builtin);
-          if (icon_info)
-            goto out;
-        }
-    }
-
   for (l = priv->themes; l; l = l->next)
     {
       IconTheme *theme = l->data;
@@ -1881,26 +1864,32 @@ gtk_icon_theme_lookup_icon_for_scale (GtkIconTheme       *icon_theme,
 
       if (is_symbolic)
         {
-          names = g_new (gchar *, dashes + 2);
+          names = g_new (gchar *, 2 * dashes + 3);
           for (i = 0; nonsymbolic_names[i] != NULL; i++)
-            names[i] = g_strconcat (nonsymbolic_names[i], "-symbolic", NULL);
+            {
+              names[i] = g_strconcat (nonsymbolic_names[i], "-symbolic", NULL);
+              names[dashes + 1 + i] = nonsymbolic_names[i];
+            }
 
-          names[i] = NULL;
-          g_strfreev (nonsymbolic_names);
+          names[dashes + 1 + i] = NULL;
+          g_free (nonsymbolic_names);
         }
       else
         {
           names = nonsymbolic_names;
         }
 
+g_print ("choosing: ");
+for (i = 0; names[i]; i++) g_print ("%s ", names[i]);
+g_print ("\n");
       info = choose_icon (icon_theme, (const gchar **) names, size, scale, flags);
-      
+
       g_strfreev (names);
     }
-  else 
+  else
     {
       const gchar *names[2];
-      
+
       names[0] = icon_name;
       names[1] = NULL;
 
