diff --git a/gtk/gtkicontheme.c b/gtk/gtkicontheme.c
index 73d8ba7..a11234c 100644
--- a/gtk/gtkicontheme.c
+++ b/gtk/gtkicontheme.c
@@ -4883,6 +4883,7 @@ gtk_icon_theme_lookup_by_gicon (GtkIconTheme       *icon_theme,
     }
   else if (G_IS_EMBLEMED_ICON (icon))
     {
+      GtkIconInfo *temp_info;
       GIcon *base, *emblem;
       GList *list, *l;
       GtkIconInfo *emblem_info;
@@ -4891,7 +4892,10 @@ gtk_icon_theme_lookup_by_gicon (GtkIconTheme       *icon_theme,
         _gtk_numerable_icon_set_background_icon_size (GTK_NUMERABLE_ICON (icon), size / 2);
 
       base = g_emblemed_icon_get_icon (G_EMBLEMED_ICON (icon));
-      info = gtk_icon_theme_lookup_by_gicon (icon_theme, base, size, flags);
+      temp_info = gtk_icon_theme_lookup_by_gicon (icon_theme, base, size, flags);
+      info = icon_info_dup (temp_info);
+      g_object_unref (temp_info);
+      
       if (info)
         {
           list = g_emblemed_icon_get_emblems (G_EMBLEMED_ICON (icon));
