Index: kernel/generic/include/ipc/ipc.h
===================================================================
--- kernel/generic/include/ipc/ipc.h	(revision 6c34f587dc553bfe599e1e96d19701a9d33eddf4)
+++ kernel/generic/include/ipc/ipc.h	(revision f7ea54007c430389f32534f3b3ec662f2dad8fe7)
@@ -113,10 +113,4 @@
 	struct task *sender;
 	
-	/*
-	 * The caller box is different from sender->answerbox
-	 * for synchronous calls.
-	 */
-	answerbox_t *callerbox;
-	
 	/** Private data to internal IPC. */
 	sysarg_t priv;
Index: kernel/generic/src/ipc/ipc.c
===================================================================
--- kernel/generic/src/ipc/ipc.c	(revision 6c34f587dc553bfe599e1e96d19701a9d33eddf4)
+++ kernel/generic/src/ipc/ipc.c	(revision f7ea54007c430389f32534f3b3ec662f2dad8fe7)
@@ -71,5 +71,4 @@
 {
 	memsetb(call, sizeof(*call), 0);
-	call->callerbox = &TASK->answerbox;
 	call->sender = TASK;
 	call->buffer = NULL;
@@ -170,5 +169,5 @@
 static void _ipc_answer_free_call(call_t *call, bool selflocked)
 {
-	answerbox_t *callerbox = call->callerbox;
+	answerbox_t *callerbox = &call->sender->answerbox;
 	bool do_lock = ((!selflocked) || callerbox != (&TASK->answerbox));
 	
