diff --git a/daemon/src/Makefile.am b/daemon/src/Makefile.am
index bd4f4eb171a95d0463087132831c4d487c19cbec..4799532575093ade22e6527719bde0dba9602a87 100644
--- a/daemon/src/Makefile.am
+++ b/daemon/src/Makefile.am
@@ -41,7 +41,7 @@ libsflphone_la_LIBADD = \
 	$(IAX_LIB) \
 	./sip/libsiplink.la \
 	./audio/libaudio.la \
-	./client/dbus/libclient.la \
+	./client/libclient.la \
 	./config/libconfig.la \
 	./hooks/libhooks.la \
 	./history/libhistory.la $(SFL_VIDEO_LIB) $(IM_LIB)
diff --git a/daemon/src/client/Makefile.am b/daemon/src/client/Makefile.am
index ee8f397a3a2d28aaee475e55c0fef64e3db22175..0b0f066c8523e21f43bd06f7a90218ccf060f4cb 100644
--- a/daemon/src/client/Makefile.am
+++ b/daemon/src/client/Makefile.am
@@ -1 +1,28 @@
+include $(top_srcdir)/globals.mak
+
+noinst_LTLIBRARIES = libclient.la
+
+noinst_HEADERS = callmanager.h           \
+                 configurationmanager.h  \
+                 client.h
+
+if SFL_PRESENCE
+PRESENCE_SRC = presencemanager.cpp
+noinst_HEADERS += presencemanager.h
+endif
+
+if SFL_VIDEO
+noinst_HEADERS += video_controls.h
+endif
+
 SUBDIRS=dbus
+
+libclient_la_LIBADD = dbus/libclient_dbus.la
+
+libclient_la_SOURCES = callmanager.cpp           \
+                       configurationmanager.cpp  \
+                       $(PRESENCE_SRC)
+
+libclient_la_CXXFLAGS = -I./ \
+                        -DPREFIX=\"$(prefix)\" \
+                        -DPROGSHAREDIR=\"${datadir}/sflphone\"
diff --git a/daemon/src/client/dbus/Makefile.am b/daemon/src/client/dbus/Makefile.am
index df8764c0dc36ddefc1c57b9cabe7d92103e9d474..7db4a433c5a2315d9f358333754c4edd606e9665 100644
--- a/daemon/src/client/dbus/Makefile.am
+++ b/daemon/src/client/dbus/Makefile.am
@@ -1,6 +1,6 @@
 include $(top_srcdir)/globals.mak
 
-noinst_LTLIBRARIES = libclient.la
+noinst_LTLIBRARIES = libclient_dbus.la
 
 BUILT_SOURCES=                      \
     callmanager-glue.h              \
@@ -31,51 +31,38 @@ configurationmanager-glue.h: configurationmanager-introspec.xml Makefile.am
 instance-glue.h: instance-introspec.xml Makefile.am
 	dbusxx-xml2cpp $< --adaptor=$@
 
-libclient_la_SOURCES = \
+libclient_dbus_la_SOURCES = \
     callmanager_dbus.cpp \
-    ../callmanager.cpp \
     configurationmanager_dbus.cpp  \
-    ../configurationmanager.cpp  \
     instance.cpp  \
     client.cpp
 
 if SFL_PRESENCE
-libclient_la_SOURCES+=../presencemanager.cpp presencemanager_dbus.cpp
+libclient_dbus_la_SOURCES += presencemanager_dbus.cpp
 endif
 
 if SFL_VIDEO
-libclient_la_SOURCES+=video_controls.cpp
+libclient_dbus_la_SOURCES += video_controls.cpp
 endif
 
 if USE_NETWORKMANAGER
-libclient_la_SOURCES += networkmanager.cpp
+libclient_dbus_la_SOURCES += networkmanager.cpp
 NETWORKMANAGER=-DUSE_NETWORKMANAGER
 endif
 
-libclient_la_CXXFLAGS = -I../ \
+libclient_dbus_la_CXXFLAGS = -I../ \
             -DPREFIX=\"$(prefix)\" \
             -DPROGSHAREDIR=\"${datadir}/sflphone\" \
             $(NETWORKMANAGER) \
             $(DBUSCPP_CFLAGS)
 
 noinst_HEADERS =            \
-    ../callmanager.h        \
-    ../configurationmanager.h  \
     instance.h              \
-    ../client.h             \
     networkmanager_proxy.h  \
     networkmanager.h        \
     dbus_cpp.h        		\
     $(BUILT_SOURCES)
 
-if SFL_PRESENCE
-noinst_HEADERS+=../presencemanager.h
-endif
-
-if SFL_VIDEO
-noinst_HEADERS+=../video_controls.h
-endif
-
 # Dbus service file
 servicedir = $(datadir)/dbus-1/services
 service_in_files = org.sflphone.SFLphone.service.in