diff --git a/daemon/src/dbus/instance-introspec.xml b/daemon/src/dbus/instance-introspec.xml
index f564d54cc1ed7bb941af0b35fb063928cd2a9f88..ad343b217d058add616f04bddb94fc6be10ba60b 100644
--- a/daemon/src/dbus/instance-introspec.xml
+++ b/daemon/src/dbus/instance-introspec.xml
@@ -2,32 +2,12 @@
 <node name="/instance-introspec" xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0">
 	<interface name="org.sflphone.SFLphone.Instance">
 		<tp:docstring xmlns="http://www.w3.org/1999/xhtml">
-		<p>Count the number of clients actually registered to the core. When initializing your client, you need to register it against the core by using this interface.</p>
+		<p></p>
 		</tp:docstring>
-		<method name="Register" tp:name-for-bindings="Register">
+		<method name="Quit" tp:name-for-bindings="Quit">
 			<tp:docstring>
-				Register a new client to the core. Increments the registration count.
-			</tp:docstring>
-			<arg type="i" name="pid" direction="in">
-				<tp:docstring>
-					The pid of the client process
-				</tp:docstring>
-			</arg>
-			<arg type="s" name="name" direction="in">
-				<tp:docstring>
-					The name of the client
-				</tp:docstring>
-			</arg>
-		</method>
-		<method name="Unregister" tp:name-for-bindings="Unregister">
-			<tp:docstring>
-				Unregister a connected client from the core. Decrements the registration count. If no more clients are connected, ie the registration count equals 0, the core properly quits.
-			</tp:docstring>
-			<arg type="i" name="pid" direction="in">
-				<tp:docstring>
-					The pid of the client process
-				</tp:docstring>
-			</arg>
+				Properly quits the core.
+            </tp:docstring>
 		</method>
     </interface>
 </node>
diff --git a/daemon/src/dbus/instance.cpp b/daemon/src/dbus/instance.cpp
index 266b1b86cf97309032bd2a0ee10e7b4b343cd3ed..8f45db1dbe01d5a1f485194d434b6418e24cc0b3 100644
--- a/daemon/src/dbus/instance.cpp
+++ b/daemon/src/dbus/instance.cpp
@@ -34,24 +34,11 @@
 Instance::Instance (DBus::Connection& connection)
     : DBus::ObjectAdaptor (connection, "/org/sflphone/SFLphone/Instance")
 {
-    count = 0;
 }
 
 void
-Instance::Register (const int32_t& pid UNUSED,
-                    const std::string& name UNUSED)
+Instance::Quit(void)
 {
-    count++;
-}
-
-
-void
-Instance::Unregister (const int32_t& pid UNUSED)
-{
-    count --;
-
-    if (count <= 0) {
-        Manager::instance().terminate();
-        Manager::instance().getDbusManager()->exit();
-    }
+    Manager::instance().terminate();
+    Manager::instance().getDbusManager()->exit();
 }
diff --git a/daemon/src/dbus/instance.h b/daemon/src/dbus/instance.h
index 0258d7fdcd8f16be390979a524f83350bbe0a57c..7bed4504b959812587716ab754b4198df8a193f6 100644
--- a/daemon/src/dbus/instance.h
+++ b/daemon/src/dbus/instance.h
@@ -52,16 +52,10 @@ class Instance
   public DBus::IntrospectableAdaptor,
   public DBus::ObjectAdaptor
 {
-    private:
-        int count;
-
     public:
         Instance (DBus::Connection& connection);
-        static const char* SERVER_PATH;
 
-        void Register (const int32_t& pid, const std::string& name);
-        void Unregister (const int32_t& pid);
-        int32_t getRegistrationCount (void);
+        void Quit(void);
 
 };
 
diff --git a/gnome/src/actions.c b/gnome/src/actions.c
index 84e3bb0a36cfc631135eda6f0505bc3c046bf4a5..e84346e4dbd96a642c37e798ed9f0fcc8b7f595d 100644
--- a/gnome/src/actions.c
+++ b/gnome/src/actions.c
@@ -184,7 +184,7 @@ sflphone_quit ()
         // Save the history
         sflphone_save_history ();
 
-        dbus_unregister (getpid());
+        dbus_quit();
         dbus_clean ();
         calllist_clean (current_calls);
         calllist_clean (contacts);
@@ -315,7 +315,7 @@ void sflphone_fill_account_list (void)
 
 gboolean sflphone_init (GError **error)
 {
-    if (!dbus_connect (error) || !dbus_register (getpid (), "Gtk+ Client", error))
+    if (!dbus_connect (error))
         return FALSE;
 
     abook_init();
diff --git a/gnome/src/dbus/dbus.c b/gnome/src/dbus/dbus.c
index 0873e07ded24502c922acb5dfda93a1f78828e6c..ff6356868b94ee4187699a532a4597bd7a6edcbb 100644
--- a/gnome/src/dbus/dbus.c
+++ b/gnome/src/dbus/dbus.c
@@ -1098,18 +1098,12 @@ dbus_start_tone (const int start, const guint type)
     }
 }
 
-gboolean
-dbus_register (int pid, gchar *name, GError **error)
-{
-    return org_sflphone_SFLphone_Instance_register (instanceProxy, pid, name, error);
-}
-
 void
-dbus_unregister (int pid)
+dbus_quit(void)
 {
     GError *error = NULL;
 
-    org_sflphone_SFLphone_Instance_unregister (instanceProxy, pid, &error);
+    org_sflphone_SFLphone_Instance_quit(instanceProxy, &error);
 
     if (error) {
         ERROR ("Failed to call unregister() on instanceProxy: %s",
diff --git a/gnome/src/dbus/dbus.h b/gnome/src/dbus/dbus.h
index 1eaebc4edec4a78a1925ec183367bd05fd77580b..157e4ae8d338eeb4616d30b3dc9a731700197c1c 100644
--- a/gnome/src/dbus/dbus.h
+++ b/gnome/src/dbus/dbus.h
@@ -359,20 +359,10 @@ void dbus_set_audio_manager (const gchar *api);
  */
 void dbus_start_tone (const int start , const guint type);
 
-/**
- * Instance - Send registration request to dbus service.
- * Manage the instances of clients connected to the server
- * @param pid The pid of the processus client
- * @param name The string description of the client. Here : GTK+ Client
- * @param error return location for a GError or NULL
- */
-gboolean dbus_register (int pid, gchar * name, GError **error);
-
 /**
  * Instance - Send unregistration request to dbus services
- * @param pid The pid of the processus
  */
-void dbus_unregister (int pid);
+void dbus_quit(void);
 
 void dbus_set_sip_address (const gchar* address);
 
diff --git a/gnome/src/dbus/instance-introspec.xml b/gnome/src/dbus/instance-introspec.xml
index f564d54cc1ed7bb941af0b35fb063928cd2a9f88..ad343b217d058add616f04bddb94fc6be10ba60b 100644
--- a/gnome/src/dbus/instance-introspec.xml
+++ b/gnome/src/dbus/instance-introspec.xml
@@ -2,32 +2,12 @@
 <node name="/instance-introspec" xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0">
 	<interface name="org.sflphone.SFLphone.Instance">
 		<tp:docstring xmlns="http://www.w3.org/1999/xhtml">
-		<p>Count the number of clients actually registered to the core. When initializing your client, you need to register it against the core by using this interface.</p>
+		<p></p>
 		</tp:docstring>
-		<method name="Register" tp:name-for-bindings="Register">
+		<method name="Quit" tp:name-for-bindings="Quit">
 			<tp:docstring>
-				Register a new client to the core. Increments the registration count.
-			</tp:docstring>
-			<arg type="i" name="pid" direction="in">
-				<tp:docstring>
-					The pid of the client process
-				</tp:docstring>
-			</arg>
-			<arg type="s" name="name" direction="in">
-				<tp:docstring>
-					The name of the client
-				</tp:docstring>
-			</arg>
-		</method>
-		<method name="Unregister" tp:name-for-bindings="Unregister">
-			<tp:docstring>
-				Unregister a connected client from the core. Decrements the registration count. If no more clients are connected, ie the registration count equals 0, the core properly quits.
-			</tp:docstring>
-			<arg type="i" name="pid" direction="in">
-				<tp:docstring>
-					The pid of the client process
-				</tp:docstring>
-			</arg>
+				Properly quits the core.
+            </tp:docstring>
 		</method>
     </interface>
 </node>