diff --git a/configure b/configure
index 1c2e10e0c8d262f467ea84e61f035834c3713562..91f857b1f5fa8976ef1db2a4b17a7889ce2d2d7f 100755
--- a/configure
+++ b/configure
@@ -10043,7 +10043,7 @@ fi;
 GLIB_REQUIRED_VERSION=2.0.0
 GTK_REQUIRED_VERSION=2.0.0
 PANGO_REQUIRED_VERSION=1.0.0
-LIBXFCEGUI4_REQUIRED_VERSION=0.0.10
+LIBXFCEGUI4_REQUIRED_VERSION=0.0.12
 LIBXFCE4MCS_REQUIRED_VERSION=0.0.3
 
 
diff --git a/configure.in b/configure.in
index 9c3dc44456099452f0650b5b1ba0f7d7af29e298..1a1715baba1456789aeea5a32e55adc6cb965aa3 100644
--- a/configure.in
+++ b/configure.in
@@ -36,7 +36,7 @@ AC_ARG_ENABLE(debug, [  --enable-debug	use this option if you want to debug xfwm
 GLIB_REQUIRED_VERSION=2.0.0
 GTK_REQUIRED_VERSION=2.0.0
 PANGO_REQUIRED_VERSION=1.0.0
-LIBXFCEGUI4_REQUIRED_VERSION=0.0.10
+LIBXFCEGUI4_REQUIRED_VERSION=0.0.12
 LIBXFCE4MCS_REQUIRED_VERSION=0.0.3
 
 AC_DEFINE_UNQUOTED(GLIB_REQUIRED_VERSION, $GLIB_REQUIRED_VERSION, [Define glib required version.])
diff --git a/mcs-plugin/xfwm4_plugin.c b/mcs-plugin/xfwm4_plugin.c
index 4d27681aa440681b62bd241547f29cb4eecff632..eb6cf7bcd60fc52ac025a5d949636ce3dfaa2494 100644
--- a/mcs-plugin/xfwm4_plugin.c
+++ b/mcs-plugin/xfwm4_plugin.c
@@ -61,10 +61,6 @@
 #define DATADIR "/usr/local/share"
 #endif
 
-#ifdef HAVE_GDK_PIXBUF_NEW_FROM_STREAM
-#define gdk_pixbuf_new_from_inline gdk_pixbuf_new_from_stream
-#endif
-
 #define STATES 8
 #define STATE_HIDDEN (STATES - 1)
 
@@ -290,31 +286,6 @@ gboolean g_str_has_suffix (const gchar  *str, const gchar  *suffix)
 }
 #endif
 
-static GdkPixbuf *default_icon_at_size(int width, int height)
-{
-
-    GdkPixbuf *base;
-
-    base = gdk_pixbuf_new_from_inline(-1, default_icon_data, FALSE, NULL);
-
-    g_assert(base);
-
-    if((width < 0 && height < 0) || (gdk_pixbuf_get_width(base) == width && gdk_pixbuf_get_height(base) == height))
-    {
-        return base;
-    }
-    else
-    {
-        GdkPixbuf *scaled;
-
-        scaled = gdk_pixbuf_scale_simple(base, width > 0 ? width : gdk_pixbuf_get_width(base), height > 0 ? height : gdk_pixbuf_get_height(base), GDK_INTERP_BILINEAR);
-
-        g_object_unref(G_OBJECT(base));
-
-        return scaled;
-    }
-}
-
 static void cb_layout_destroy_button(GtkWidget * widget, gpointer user_data)
 {
     g_free(user_data);
@@ -1071,7 +1042,7 @@ Itf *create_dialog(McsPlugin * mcs_plugin)
 
     dialog->font_selection = NULL;
 
-    icon = default_icon_at_size(32, 32);
+    icon = inline_icon_at_size(default_icon_data, 32, 32);
     gtk_window_set_icon(GTK_WINDOW(dialog->xfwm4_dialog), icon);
     g_object_unref(icon);
 
@@ -1511,7 +1482,7 @@ McsPluginInitResult mcs_plugin_init(McsPlugin * mcs_plugin)
     mcs_plugin->plugin_name = g_strdup(PLUGIN_NAME);
     mcs_plugin->caption = g_strdup(_("Window Manager"));
     mcs_plugin->run_dialog = run_dialog;
-    mcs_plugin->icon = default_icon_at_size(DEFAULT_ICON_SIZE, DEFAULT_ICON_SIZE);
+    mcs_plugin->icon = inline_icon_at_size(default_icon_data, DEFAULT_ICON_SIZE, DEFAULT_ICON_SIZE);
     mcs_manager_notify(mcs_plugin->manager, CHANNEL);
 
     return (MCS_PLUGIN_INIT_OK);