Index: uspace/srv/hid/display/main.c
===================================================================
--- uspace/srv/hid/display/main.c	(revision 0b6fad98b01843ea564e7d4184663eef63f3a047)
+++ uspace/srv/hid/display/main.c	(revision 4034954cea3faa7e7a1a926e6bd2cfc10d48f1f3)
@@ -127,4 +127,6 @@
 	port_id_t wm_port;
 	port_id_t dc_port;
+	loc_srv_t *srv = NULL;
+	service_id_t sid = 0;
 	errno_t rc;
 
@@ -171,5 +173,5 @@
 		goto error;
 
-	rc = loc_server_register(NAME);
+	rc = loc_server_register(NAME, &srv);
 	if (rc != EOK) {
 		log_msg(LOG_DEFAULT, LVL_ERROR, "Failed registering server: %s.", str_error(rc));
@@ -178,6 +180,5 @@
 	}
 
-	service_id_t sid;
-	rc = loc_service_register(SERVICE_NAME_DISPLAY, &sid);
+	rc = loc_service_register(srv, SERVICE_NAME_DISPLAY, &sid);
 	if (rc != EOK) {
 		log_msg(LOG_DEFAULT, LVL_ERROR, "Failed registering service: %s.", str_error(rc));
@@ -189,4 +190,8 @@
 	return EOK;
 error:
+	if (sid != 0)
+		loc_service_unregister(srv, sid);
+	if (srv != NULL)
+		loc_server_unregister(srv);
 	// XXX destroy disp_port
 	// XXX destroy gc_port
