Index: uspace/lib/c/generic/async.c
===================================================================
--- uspace/lib/c/generic/async.c	(revision 6d8455d96fd6cd160666aef7ea55519828d14f42)
+++ uspace/lib/c/generic/async.c	(revision c617e98a55fbecab2f7223904925b71f81f9dd13)
@@ -257,4 +257,5 @@
 void async_set_client_data_constructor(async_client_data_ctor_t ctor)
 {
+	assert(async_client_data_create == default_client_data_constructor);
 	async_client_data_create = ctor;
 }
@@ -262,4 +263,5 @@
 void async_set_client_data_destructor(async_client_data_dtor_t dtor)
 {
+	assert(async_client_data_destroy == default_client_data_destructor);
 	async_client_data_destroy = dtor;
 }
@@ -303,4 +305,5 @@
 void async_set_client_connection(async_client_conn_t conn)
 {
+	assert(client_connection == default_client_connection);
 	client_connection = conn;
 }
Index: uspace/lib/c/generic/devman.c
===================================================================
--- uspace/lib/c/generic/devman.c	(revision 6d8455d96fd6cd160666aef7ea55519828d14f42)
+++ uspace/lib/c/generic/devman.c	(revision c617e98a55fbecab2f7223904925b71f81f9dd13)
@@ -177,5 +177,5 @@
 
 /** Register running driver with device manager. */
-int devman_driver_register(const char *name, async_client_conn_t conn)
+int devman_driver_register(const char *name)
 {
 	async_exch_t *exch = devman_exchange_begin_blocking(DEVMAN_DRIVER);
@@ -192,8 +192,6 @@
 	}
 	
-	async_set_client_connection(conn);
-	
 	exch = devman_exchange_begin(DEVMAN_DRIVER);
-	async_connect_to_me(exch, 0, 0, 0, conn, NULL);
+	async_connect_to_me(exch, 0, 0, 0, NULL, NULL);
 	devman_exchange_end(exch);
 	
Index: uspace/lib/c/generic/loc.c
===================================================================
--- uspace/lib/c/generic/loc.c	(revision 6d8455d96fd6cd160666aef7ea55519828d14f42)
+++ uspace/lib/c/generic/loc.c	(revision c617e98a55fbecab2f7223904925b71f81f9dd13)
@@ -242,5 +242,5 @@
 
 /** Register new driver with loc. */
-int loc_server_register(const char *name, async_client_conn_t conn)
+int loc_server_register(const char *name)
 {
 	async_exch_t *exch = loc_exchange_begin_blocking(LOC_PORT_SUPPLIER);
@@ -256,6 +256,4 @@
 		return retval;
 	}
-	
-	async_set_client_connection(conn);
 	
 	exch = loc_exchange_begin(LOC_PORT_SUPPLIER);
Index: uspace/lib/c/include/devman.h
===================================================================
--- uspace/lib/c/include/devman.h	(revision 6d8455d96fd6cd160666aef7ea55519828d14f42)
+++ uspace/lib/c/include/devman.h	(revision c617e98a55fbecab2f7223904925b71f81f9dd13)
@@ -46,5 +46,5 @@
 extern void devman_exchange_end(async_exch_t *);
 
-extern int devman_driver_register(const char *, async_client_conn_t);
+extern int devman_driver_register(const char *);
 extern int devman_add_function(const char *, fun_type_t, match_id_list_t *,
     devman_handle_t, devman_handle_t *);
Index: uspace/lib/c/include/loc.h
===================================================================
--- uspace/lib/c/include/loc.h	(revision 6d8455d96fd6cd160666aef7ea55519828d14f42)
+++ uspace/lib/c/include/loc.h	(revision c617e98a55fbecab2f7223904925b71f81f9dd13)
@@ -46,5 +46,5 @@
 extern void loc_exchange_end(async_exch_t *);
 
-extern int loc_server_register(const char *, async_client_conn_t);
+extern int loc_server_register(const char *);
 extern int loc_service_register(const char *, service_id_t *);
 extern int loc_service_register_with_iface(const char *, service_id_t *,
Index: uspace/lib/drv/generic/driver.c
===================================================================
--- uspace/lib/drv/generic/driver.c	(revision 6d8455d96fd6cd160666aef7ea55519828d14f42)
+++ uspace/lib/drv/generic/driver.c	(revision c617e98a55fbecab2f7223904925b71f81f9dd13)
@@ -1016,5 +1016,6 @@
 	 * incoming connections.
 	 */
-	rc = devman_driver_register(driver->name, driver_connection);
+	async_set_client_connection(driver_connection);
+	rc = devman_driver_register(driver->name);
 	if (rc != EOK) {
 		printf("Error: Failed to register driver with device manager "
