diff --git a/addressbook/libedata-book/Makefile.am b/addressbook/libedata-book/Makefile.am
index 2fff48a..7d1f327 100644
--- a/addressbook/libedata-book/Makefile.am
+++ b/addressbook/libedata-book/Makefile.am
@@ -20,6 +20,7 @@ libedata_book_1_2_la_CPPFLAGS = \
$(DB_CFLAGS) \
$(SQLITE3_CFLAGS) \
$(GOA_CFLAGS) \
+ $(DBUS_GLIB_CFLAGS) \
$(EVOLUTION_ADDRESSBOOK_CFLAGS)
libedata_book_1_2_la_SOURCES = \
@@ -44,6 +45,7 @@ libedata_book_1_2_la_LIBADD = \
$(DB_LIBS) \
$(SQLITE3_LIBS) \
$(GOA_LIBS) \
+ $(DBUS_GLIB_LIBS) \
$(EVOLUTION_ADDRESSBOOK_LIBS)
libedata_book_1_2_la_LDFLAGS = \
diff --git a/addressbook/libedata-book/e-data-book-factory.c b/addressbook/libedata-book/e-data-book-factory.c
index dca4255..53ee1e7 100644
--- a/addressbook/libedata-book/e-data-book-factory.c
+++ b/addressbook/libedata-book/e-data-book-factory.c
@@ -26,6 +26,8 @@
#include <unistd.h>
#include <glib/gi18n.h>
+#include <dbus/dbus-glib.h>
+
#ifdef ENABLE_MAINTAINER_MODE
#include <gtk/gtk.h>
#endif
@@ -837,6 +839,9 @@ main (gint argc,
g_set_prgname (E_PRGNAME);
if (!g_thread_supported ()) g_thread_init (NULL);
+ /* this is to initialize threading for dbus-glib used by GConf */
+ dbus_g_thread_init ();
+
#ifdef ENABLE_MAINTAINER_MODE
/* only to load gtk-modules, like bug-buddy's gnomesegvhandler, if possible */
gtk_init_check (&argc, &argv);
diff --git a/calendar/libedata-cal/Makefile.am b/calendar/libedata-cal/Makefile.am
index 8ca641d..bf9d2c6 100644
--- a/calendar/libedata-cal/Makefile.am
+++ b/calendar/libedata-cal/Makefile.am
@@ -18,6 +18,7 @@ libedata_cal_1_2_la_CPPFLAGS = \
-I$(top_builddir) \
-I$(top_builddir)/calendar \
$(LIBICAL_CFLAGS) \
+ $(DBUS_GLIB_CFLAGS) \
$(EVOLUTION_CALENDAR_CFLAGS)
libedata_cal_1_2_la_SOURCES = \
@@ -40,6 +41,7 @@ libedata_cal_1_2_la_LIBADD = \
$(top_builddir)/libedataserver/libedataserver-1.2.la \
$(top_builddir)/libebackend/libebackend-1.2.la \
$(LIBICAL_LIBS) \
+ $(DBUS_GLIB_LIBS) \
$(EVOLUTION_CALENDAR_LIBS)
libedata_cal_1_2_la_LDFLAGS = \
diff --git a/calendar/libedata-cal/e-data-cal-factory.c b/calendar/libedata-cal/e-data-cal-factory.c
index df3e136..2ec4a7d 100644
--- a/calendar/libedata-cal/e-data-cal-factory.c
+++ b/calendar/libedata-cal/e-data-cal-factory.c
@@ -30,6 +30,8 @@
#include <unistd.h>
#include <glib/gi18n.h>
+#include <dbus/dbus-glib.h>
+
#ifdef ENABLE_MAINTAINER_MODE
#include <gtk/gtk.h>
#endif
@@ -1038,6 +1040,9 @@ main (gint argc,
g_set_prgname (E_PRGNAME);
if (!g_thread_supported ()) g_thread_init (NULL);
+ /* this is to initialize threading for dbus-glib used by GConf */
+ dbus_g_thread_init ();
+
#ifdef ENABLE_MAINTAINER_MODE
/* only to load gtk-modules, like bug-buddy's gnomesegvhandler, if possible */
gtk_init_check (&argc, &argv);
diff --git a/configure.ac b/configure.ac
index 7c163e7..33394bd 100644
--- a/configure.ac
+++ b/configure.ac
@@ -347,6 +347,15 @@ if `$PKG_CONFIG --atleast-version=0.9.1 libgdata`; then
AC_DEFINE(HAVE_LIBGDATA_0_9, 1, [libgdata is 0.9.1 or higher])
fi
+dnl ******************************
+dnl DBus-glib stuff, to initialize thread for GConf, which is using it
+dnl this is returned back only temporarily and wil lbe removed as soon
+dnl as eds will stop using GConf completely
+dnl ******************************
+PKG_CHECK_MODULES(DBUS_GLIB, dbus-glib-1 >= 0.6)
+AC_SUBST(DBUS_GLIB_CFLAGS)
+AC_SUBST(DBUS_GLIB_LIBS)
+
dnl *******************************
dnl Check for GNOME Online Accounts
dnl *******************************