--- glib2.0-2.21.1/gio/glocalfileinfo.c	2009-05-17 23:31:00.000000000 +0200
+++ glib2.0-2.21.1-new/gio/glocalfileinfo.c	2009-06-12 10:33:51.349551897 +0200
@@ -1399,6 +1399,13 @@
 }
 #endif /* G_OS_WIN32 */
 
+GIcon* _g_local_file_info_get_folder_icon (const char* themed_icon_name)
+{
+  const char *names[] = { themed_icon_name, "folder", NULL };
+  GIcon * icon = g_themed_icon_new_from_names (names, -1);
+  return icon;
+}
+
 GFileInfo *
 _g_local_file_info_get (const char             *basename,
 			const char             *path,
@@ -1576,9 +1583,23 @@
 	      GIcon *icon;
 
               if (strcmp (path, g_get_home_dir ()) == 0)
-                icon = g_themed_icon_new ("user-home");
+                icon = _g_local_file_info_get_folder_icon ("user-home");
               else if (strcmp (path, g_get_user_special_dir (G_USER_DIRECTORY_DESKTOP)) == 0) 
-                icon = g_themed_icon_new ("user-desktop");
+                icon = _g_local_file_info_get_folder_icon ("user-desktop");
+              else if (g_strcmp0 (path, g_get_user_special_dir (G_USER_DIRECTORY_DOCUMENTS)) == 0)
+                icon = _g_local_file_info_get_folder_icon ("user-documents");
+              else if (g_strcmp0 (path, g_get_user_special_dir (G_USER_DIRECTORY_DOWNLOAD)) == 0)
+                icon = _g_local_file_info_get_folder_icon ("user-download");
+              else if (g_strcmp0 (path, g_get_user_special_dir (G_USER_DIRECTORY_MUSIC)) == 0)
+                icon = _g_local_file_info_get_folder_icon ("user-music");
+              else if (g_strcmp0 (path, g_get_user_special_dir (G_USER_DIRECTORY_PICTURES)) == 0)
+                icon = _g_local_file_info_get_folder_icon ("user-pictures");
+              else if (g_strcmp0 (path, g_get_user_special_dir (G_USER_DIRECTORY_PUBLIC_SHARE)) == 0)
+                icon = _g_local_file_info_get_folder_icon ("user-publicshare");
+              else if (g_strcmp0 (path, g_get_user_special_dir (G_USER_DIRECTORY_TEMPLATES)) == 0)
+                icon = _g_local_file_info_get_folder_icon ("user-templates");
+              else if (g_strcmp0 (path, g_get_user_special_dir (G_USER_DIRECTORY_VIDEOS)) == 0)
+                icon = _g_local_file_info_get_folder_icon ("user-videos");
               else 
                 {
                   icon = g_content_type_get_icon (content_type);
