diff --git a/configure.ac.in b/configure.ac.in
index 5774ee8098d92b1fd4664697ce2979b52fb3b8fa..a9f951c686f46fce89ac74875f67ad63c46c7250 100644
--- a/configure.ac.in
+++ b/configure.ac.in
@@ -14,7 +14,8 @@ m4_define([gtk_minimum_version], [3.20.0])
 m4_define([xfce_minimum_version], [4.8.0])
 m4_define([libxfce4ui_minimum_version], [4.12.0])
 m4_define([libxfce4kbd_private_minimum_version], [4.12.0])
-m4_define([xfconf_minimum_version], [4.12.0])
+m4_define([xfconf_minimum_version], [4.13.0])
+m4_define([xfconf_legacy_version], [4.12.0])
 m4_define([xcomposite_minimum_version], [0.2])
 m4_define([wnck_minimum_version], [3.14])
 m4_define([startup_notification_minimum_version], [0.5])
@@ -93,10 +94,12 @@ XDT_CHECK_PACKAGE([GTK], [gtk+-3.0], [gtk_minimum_version])
 XDT_CHECK_PACKAGE([LIBXFCE4UTIL], [libxfce4util-1.0], [xfce_minimum_version])
 XDT_CHECK_PACKAGE([LIBXFCE4UI], libxfce4ui-2, [libxfce4ui_minimum_version])
 XDT_CHECK_PACKAGE([LIBXFCE4KBD_PRIVATE], libxfce4kbd-private-3, [libxfce4kbd_private_minimum_version])
-XDT_CHECK_PACKAGE([LIBXFCONF], libxfconf-0, [xfconf_minimum_version])
+XDT_CHECK_PACKAGE([LIBXFCONF], libxfconf-0, [xfconf_minimum_version],,
+[
+  AC_DEFINE([XFCONF_LEGACY], [], [Use dbus-glib provided by xfconf 4.12 to obtain array type])
+  XDT_CHECK_PACKAGE([LIBXFCONF], [libxfconf-0], [xfconf_legacy_version])
+])
 XDT_CHECK_PACKAGE([LIBWNCK], [libwnck-3.0], [wnck_minimum_version])
-XDT_CHECK_PACKAGE([DBUS], [dbus-1], [1.0.0])
-XDT_CHECK_PACKAGE([DBUS_GLIB], [dbus-glib-1], [0.72])
 XDT_CHECK_PACKAGE([XINERAMA], [xinerama], [0])
 
 AS_IF([test "x$USE_MAINTAINER_MODE" = "xyes"],
diff --git a/settings-dialogs/workspace-settings.c b/settings-dialogs/workspace-settings.c
index 67600a57ab882464ab46e367fd31dacbbd792539..a6d69df483513c4d5b09a0458df0137692b372eb 100644
--- a/settings-dialogs/workspace-settings.c
+++ b/settings-dialogs/workspace-settings.c
@@ -30,7 +30,9 @@
 #include <gtk/gtk.h>
 #include <gtk/gtkx.h>
 
+#ifdef XFCONF_LEGACY
 #include <dbus/dbus-glib.h>
+#endif
 #include <libwnck/libwnck.h>
 
 #include <libxfce4util/libxfce4util.h>
@@ -216,8 +218,12 @@ xfconf_workspace_names_changed(XfconfChannel *channel,
 {
     GPtrArray *names;
 
+#ifdef XFCONF_LEGACY
     if(G_VALUE_TYPE(value) !=  dbus_g_type_get_collection("GPtrArray",
                                                           G_TYPE_VALUE))
+#else
+    if(G_VALUE_TYPE(value) != G_TYPE_PTR_ARRAY)
+#endif
     {
         g_warning("(workspace names) Expected boxed GPtrArray property, got %s",
                   G_VALUE_TYPE_NAME(value));