Index: kernel/generic/include/ipc/ipc.h
===================================================================
--- kernel/generic/include/ipc/ipc.h	(revision e40e3007fc0de3d5c4a7a5ebec5db04d5a48ed6f)
+++ kernel/generic/include/ipc/ipc.h	(revision 27526e87a5c2020cd438d3e19be5de74210bc73d)
@@ -261,4 +261,26 @@
 	unative_t args[IPC_CALL_LEN];
 	phone_t *phone;
+} ipc_data_t;
+
+typedef struct {
+	link_t link;
+
+	int flags;
+
+	/** Identification of the caller. */
+	struct task *sender;
+	/** The caller box is different from sender->answerbox for synchronous
+	 *  calls. */
+	answerbox_t *callerbox;
+
+	/** Private data to internal IPC. */
+	unative_t priv;
+
+	/** Data passed from/to userspace. */
+	ipc_data_t data;
+
+	/** Buffer for IPC_M_DATA_WRITE and IPC_M_DATA_READ. */
+	uint8_t *buffer;
+
 	/*
 	 * The forward operation can masquerade the caller phone. For those
@@ -267,25 +289,4 @@
 	 */
 	phone_t *caller_phone;
-} ipc_data_t;
-
-typedef struct {
-	link_t link;
-
-	int flags;
-
-	/** Identification of the caller. */
-	struct task *sender;
-	/** The caller box is different from sender->answerbox for synchronous
-	 *  calls. */
-	answerbox_t *callerbox;
-
-	/** Private data to internal IPC. */
-	unative_t priv;
-
-	/** Data passed from/to userspace. */
-	ipc_data_t data;
-
-	/** Buffer for IPC_M_DATA_WRITE and IPC_M_DATA_READ. */
-	uint8_t *buffer;
 } call_t;
 
Index: kernel/generic/src/ipc/ipc.c
===================================================================
--- kernel/generic/src/ipc/ipc.c	(revision e40e3007fc0de3d5c4a7a5ebec5db04d5a48ed6f)
+++ kernel/generic/src/ipc/ipc.c	(revision 27526e87a5c2020cd438d3e19be5de74210bc73d)
@@ -202,7 +202,7 @@
 
 	if (call->flags & IPC_CALL_FORWARDED) {
-		if (call->data.caller_phone) {
+		if (call->caller_phone) {
 			/* Demasquerade the caller phone. */
-			call->data.phone = call->data.caller_phone;
+			call->data.phone = call->caller_phone;
 		}
 	}
@@ -361,6 +361,6 @@
 
 	if (mode & IPC_FF_ROUTE_FROM_ME) {
-		if (!call->data.caller_phone)
-			call->data.caller_phone = call->data.phone;
+		if (!call->caller_phone)
+			call->caller_phone = call->data.phone;
 		call->data.phone = newphone;
 	}
