Index: uspace/srv/hid/compositor/compositor.c
===================================================================
--- uspace/srv/hid/compositor/compositor.c	(revision b688fd884822ca3ea5bb45f1b6b2ca18b04efbcc)
+++ uspace/srv/hid/compositor/compositor.c	(revision be12474ead2cb098f28d8b1a42e46e304254fcde)
@@ -896,5 +896,5 @@
 	ipc_call_t call;
 	ipc_callid_t callid;
-	service_id_t service_id = (service_id_t) IPC_GET_ARG1(*icall);
+	service_id_t service_id = (service_id_t) IPC_GET_ARG2(*icall);
 
 	/* Allocate resources for new window and register it to the location service. */
@@ -1175,5 +1175,5 @@
 	async_sess_t *sess;
 
-	sess = loc_service_connect(EXCHANGE_SERIALIZE, sid, 0);
+	sess = loc_service_connect(sid, INTERFACE_DDF, 0);
 	if (sess == NULL) {
 		printf("%s: Unable to connect to visualizer %s\n", NAME, svc);
@@ -1182,5 +1182,9 @@
 
 	async_exch_t *exch = async_exchange_begin(sess);
-	rc = async_connect_to_me(exch, sid, 0, 0, vsl_notifications, NULL);
+	
+	port_id_t port;
+	rc = async_create_callback_port(exch, INTERFACE_VISUALIZER_CB, 0, 0,
+	    vsl_notifications, NULL, &port);
+	
 	async_exchange_end(exch);
 
@@ -2145,5 +2149,5 @@
 	}
 
-	sess = loc_service_connect(EXCHANGE_ATOMIC, dsid, 0);
+	sess = loc_service_connect(dsid, INTERFACE_INPUT, 0);
 	if (sess == NULL) {
 		printf("%s: Unable to connect to input service %s\n", NAME,
