Index: kernel/generic/src/ipc/sysipc.c
===================================================================
--- kernel/generic/src/ipc/sysipc.c	(revision d2e0a8cbdc868471a5aa81a0fdf2146f08e15740)
+++ kernel/generic/src/ipc/sysipc.c	(revision b61d47d14bdea0c512d1a9a0ce603ef37ac239bc)
@@ -192,5 +192,5 @@
 		/* If the users accepted call, connect */
 		if (!IPC_GET_RETVAL(answer->data)) {
-			ipc_phone_connect((phone_t *) IPC_GET_ARG3(*olddata),
+			ipc_phone_connect((phone_t *) IPC_GET_ARG5(*olddata),
 			    &TASK->answerbox);
 		}
@@ -271,5 +271,5 @@
 			return ELIMIT;
 		/* Set arg3 for server */
-		IPC_SET_ARG3(call->data, (unative_t) &TASK->phones[newphid]);
+		IPC_SET_ARG5(call->data, (unative_t) &TASK->phones[newphid]);
 		call->flags |= IPC_CALL_CONN_ME_TO;
 		call->priv = newphid;
@@ -319,5 +319,5 @@
 			phone_dealloc(call->priv);
 		else
-			IPC_SET_ARG3(call->data, call->priv);
+			IPC_SET_ARG5(call->data, call->priv);
 	}
 }
@@ -553,5 +553,5 @@
  */
 unative_t sys_ipc_forward_fast(unative_t callid, unative_t phoneid,
-    unative_t method, unative_t arg1, int mode)
+    unative_t method, unative_t arg1, unative_t arg2, int mode)
 {
 	call_t *call;
@@ -578,5 +578,6 @@
 	/*
 	 * Userspace is not allowed to change method of system methods on
-	 * forward, allow changing ARG1 and ARG2 by means of method and arg1.
+	 * forward, allow changing ARG1, ARG2 and ARG3 by means of method,
+	 * arg1 and arg2.
 	 * If the method is immutable, don't change anything.
 	 */
@@ -584,11 +585,13 @@
 		if (method_is_system(IPC_GET_METHOD(call->data))) {
 			if (IPC_GET_METHOD(call->data) == IPC_M_CONNECT_TO_ME)
-				phone_dealloc(IPC_GET_ARG3(call->data));
+				phone_dealloc(IPC_GET_ARG5(call->data));
 
 			IPC_SET_ARG1(call->data, method);
 			IPC_SET_ARG2(call->data, arg1);
+			IPC_SET_ARG3(call->data, arg2);
 		} else {
 			IPC_SET_METHOD(call->data, method);
 			IPC_SET_ARG1(call->data, arg1);
+			IPC_SET_ARG2(call->data, arg2);
 		}
 	}
