+diff --git a/src/bin/e_fm.c b/src/bin/e_fm.c
+index 644ff04..4e1075a 100644
+--- a/src/bin/e_fm.c
++++ b/src/bin/e_fm.c
+@@ -4789,7 +4789,15 @@ _e_fm2_icon_desktop_load(E_Fm2_Icon *ic)
+ ic->info.label = eina_stringshare_add(desktop->name);
+ ic->info.generic = eina_stringshare_add(desktop->generic_name);
+ ic->info.comment = eina_stringshare_add(desktop->comment);
+- ic->info.icon = eina_stringshare_add(desktop->icon);
++
++ if (!desktop->icon || desktop->icon[0] == '/')
++ ic->info.icon = eina_stringshare_add(desktop->icon);
++ else {
++ const char *icon = efreet_icon_path_find(e_config->icon_theme,
++ desktop->icon, 32);
++ ic->info.icon = eina_string_share_add(icon);
++ free(icon);
++ }
+ if (desktop->url)
+ ic->info.link = _e_fm2_icon_desktop_url_eval(desktop->url);
+ if (desktop->x)
+