diff --git a/cccli/cli.py b/cccli/cli.py
index 01bc798766db9fd78b729b14f765d8ebf31ec3c9..6f0b6edbb6bd365932007fbf3787044be350a16c 100644
--- a/cccli/cli.py
+++ b/cccli/cli.py
@@ -53,15 +53,12 @@ class Cli(object):
                                          self._settings["port"],
                                          enable_ssl=True,
                                          default_handler=CliHandler(),
-                                         on_disconnect=self._on_disconnect,
+                                         on_disconnect="quit",
                                          timeout=self._settings["timeout"]
                                         )
         rpcc.start(daemonize=True)
         self.rpc = ConnectionProxy(rpcc)
 
-    def _on_disconnect(self, rpc):
-        printer.fatal("Disconnected from server!")
-
     def _auth(self):
         printer.debug("Authenticating...")
         if self.rpc.authentify(self._settings["login"], self._settings["pass"]):
@@ -176,3 +173,8 @@ class CliHandler(RpcHandler):
     def get_tags(self, tags=()):
         if "version" in tags:
             return { "version": cccli.version }
+
+    @pure
+    def quit(self, rpc=None):
+        printer.fatal("Disconnected from server!")
+