Index: kernel/generic/src/ipc/ops/conctmeto.c
===================================================================
--- kernel/generic/src/ipc/ops/conctmeto.c	(revision 32e464341d723c37183606ae150329e6b126d5a9)
+++ kernel/generic/src/ipc/ops/conctmeto.c	(revision 1b186edc1474ad2436fc11ef58532a579b082cec)
@@ -49,5 +49,4 @@
 	/* Set arg5 for server */
 	IPC_SET_ARG5(call->data, (sysarg_t) &TASK->phones[newphid]);
-	call->flags |= IPC_CALL_CONN_ME_TO;
 	call->priv = newphid;
 
@@ -66,4 +65,13 @@
 }
 
+static int answer_process(call_t *answer)
+{
+	if (IPC_GET_RETVAL(answer->data))
+		phone_dealloc(answer->priv);
+	else
+		IPC_SET_ARG5(answer->data, answer->priv);
+	
+	return EOK;
+}
 
 sysipc_ops_t ipc_m_connect_me_to_ops = {
@@ -71,5 +79,5 @@
 	.request_process = null_request_process,
 	.answer_preprocess = answer_preprocess,
-	.answer_process = null_answer_process,
+	.answer_process = answer_process,
 };
 
Index: kernel/generic/src/ipc/sysipc.c
===================================================================
--- kernel/generic/src/ipc/sysipc.c	(revision 32e464341d723c37183606ae150329e6b126d5a9)
+++ kernel/generic/src/ipc/sysipc.c	(revision 1b186edc1474ad2436fc11ef58532a579b082cec)
@@ -242,11 +242,4 @@
 	    (call->flags & IPC_CALL_FORWARDED))
 		IPC_SET_RETVAL(call->data, EFORWARD);
-	
-	if (call->flags & IPC_CALL_CONN_ME_TO) {
-		if (IPC_GET_RETVAL(call->data))
-			phone_dealloc(call->priv);
-		else
-			IPC_SET_ARG5(call->data, call->priv);
-	}
 	
 	if (call->buffer) {
