Index: uspace/srv/locsrv/locsrv.c
===================================================================
--- uspace/srv/locsrv/locsrv.c	(revision 984a9ba2fa05c490a7066737655ed19130c714e8)
+++ uspace/srv/locsrv/locsrv.c	(revision 9b1baac695a63afb1850cd44050a52e06635cbd2)
@@ -1533,26 +1533,22 @@
 	}
 
-	port_id_t port;
-	errno_t rc = async_create_port(INTERFACE_LOC_SUPPLIER,
-	    loc_connection_supplier, NULL, &port);
+	/* Register location service at naming service */
+	errno_t rc = service_register(SERVICE_LOC, INTERFACE_LOC_SUPPLIER,
+	    loc_connection_supplier, NULL);
 	if (rc != EOK) {
-		printf("%s: Error while creating supplier port: %s\n", NAME, str_error(rc));
+		printf("%s: Error while registering supplier service: %s\n", NAME, str_error(rc));
 		return rc;
 	}
 
-	rc = async_create_port(INTERFACE_LOC_CONSUMER,
-	    loc_connection_consumer, NULL, &port);
+	rc = service_register(SERVICE_LOC, INTERFACE_LOC_CONSUMER,
+	    loc_connection_consumer, NULL);
 	if (rc != EOK) {
-		printf("%s: Error while creating consumer port: %s\n", NAME, str_error(rc));
+		printf("%s: Error while registering consumer service: %s\n", NAME, str_error(rc));
 		return rc;
 	}
 
-	/* Set a handler of incomming connections */
-	async_set_fallback_port_handler(loc_forward, NULL);
-
-	/* Register location service at naming service */
-	rc = service_register(SERVICE_LOC);
+	rc = service_register_broker(SERVICE_LOC, loc_forward, NULL);
 	if (rc != EOK) {
-		printf("%s: Error while registering service: %s\n", NAME, str_error(rc));
+		printf("%s: Error while registering broker service: %s\n", NAME, str_error(rc));
 		return rc;
 	}
