Index: uspace/srv/bd/ata_bd/ata_bd.c
===================================================================
--- uspace/srv/bd/ata_bd/ata_bd.c	(revision fbcdeb887f643e4a875e51120a2ddbf6fe35e4b3)
+++ uspace/srv/bd/ata_bd/ata_bd.c	(revision 70922c299ca7e34c75aac043336fd7df8dc71581)
@@ -245,6 +245,7 @@
 	void *vaddr;
 	int rc;
-
-	rc = loc_server_register(NAME, ata_bd_connection);
+	
+	async_set_client_connection(ata_bd_connection);
+	rc = loc_server_register(NAME);
 	if (rc < 0) {
 		printf(NAME ": Unable to register driver.\n");
Index: uspace/srv/bd/file_bd/file_bd.c
===================================================================
--- uspace/srv/bd/file_bd/file_bd.c	(revision fbcdeb887f643e4a875e51120a2ddbf6fe35e4b3)
+++ uspace/srv/bd/file_bd/file_bd.c	(revision 70922c299ca7e34c75aac043336fd7df8dc71581)
@@ -141,6 +141,7 @@
 	int rc;
 	long img_size;
-
-	rc = loc_server_register(NAME, file_bd_connection);
+	
+	async_set_client_connection(file_bd_connection);
+	rc = loc_server_register(NAME);
 	if (rc < 0) {
 		printf(NAME ": Unable to register driver.\n");
Index: uspace/srv/bd/gxe_bd/gxe_bd.c
===================================================================
--- uspace/srv/bd/gxe_bd/gxe_bd.c	(revision fbcdeb887f643e4a875e51120a2ddbf6fe35e4b3)
+++ uspace/srv/bd/gxe_bd/gxe_bd.c	(revision 70922c299ca7e34c75aac043336fd7df8dc71581)
@@ -125,6 +125,7 @@
 	int rc, i;
 	char name[16];
-
-	rc = loc_server_register(NAME, gxe_bd_connection);
+	
+	async_set_client_connection(gxe_bd_connection);
+	rc = loc_server_register(NAME);
 	if (rc < 0) {
 		printf(NAME ": Unable to register driver.\n");
Index: uspace/srv/bd/part/guid_part/guid_part.c
===================================================================
--- uspace/srv/bd/part/guid_part/guid_part.c	(revision fbcdeb887f643e4a875e51120a2ddbf6fe35e4b3)
+++ uspace/srv/bd/part/guid_part/guid_part.c	(revision 70922c299ca7e34c75aac043336fd7df8dc71581)
@@ -164,5 +164,6 @@
 
 	/* Register server with location service. */
-	rc = loc_server_register(NAME, gpt_connection);
+	async_set_client_connection(gpt_connection);
+	rc = loc_server_register(NAME);
 	if (rc != EOK) {
 		printf(NAME ": Unable to register server.\n");
Index: uspace/srv/bd/part/mbr_part/mbr_part.c
===================================================================
--- uspace/srv/bd/part/mbr_part/mbr_part.c	(revision fbcdeb887f643e4a875e51120a2ddbf6fe35e4b3)
+++ uspace/srv/bd/part/mbr_part/mbr_part.c	(revision 70922c299ca7e34c75aac043336fd7df8dc71581)
@@ -214,5 +214,6 @@
 
 	/* Register server with location service. */
-	rc = loc_server_register(NAME, mbr_connection);
+	async_set_client_connection(mbr_connection);
+	rc = loc_server_register(NAME);
 	if (rc != EOK) {
 		printf(NAME ": Unable to register server.\n");
Index: uspace/srv/bd/rd/rd.c
===================================================================
--- uspace/srv/bd/rd/rd.c	(revision fbcdeb887f643e4a875e51120a2ddbf6fe35e4b3)
+++ uspace/srv/bd/rd/rd.c	(revision 70922c299ca7e34c75aac043336fd7df8dc71581)
@@ -235,5 +235,6 @@
 	    (void *) addr_phys, size);
 	
-	ret = loc_server_register(NAME, rd_connection);
+	async_set_client_connection(rd_connection);
+	ret = loc_server_register(NAME);
 	if (ret < 0) {
 		printf("%s: Unable to register driver (%d)\n", NAME, ret);
