Index: kernel/generic/include/ipc/sysipc_ops.h
===================================================================
--- kernel/generic/include/ipc/sysipc_ops.h	(revision 6b83300715757055e733323ff40bdd43f698dc5f)
+++ kernel/generic/include/ipc/sysipc_ops.h	(revision 675fcbd7430ca9b6ae3bcc232f5d6269225dfc5d)
@@ -78,8 +78,4 @@
  * answer_cleanup() callbacks instead. The order in which they are invoked is
  * not defined. 
- *
- * The answer_process() callback will be skipped if the caller terminates
- * before picking up the answer. This means that this callback is not suitable
- * for releasing system resources allocated by the preceding callbacks.
  *
  * The comments for each callback type describe the specifics of each callback
Index: kernel/generic/src/ipc/ipc.c
===================================================================
--- kernel/generic/src/ipc/ipc.c	(revision 6b83300715757055e733323ff40bdd43f698dc5f)
+++ kernel/generic/src/ipc/ipc.c	(revision 675fcbd7430ca9b6ae3bcc232f5d6269225dfc5d)
@@ -707,4 +707,9 @@
 	    SYNCH_FLAGS_NONE);
 	ASSERT(call->flags & (IPC_CALL_ANSWERED | IPC_CALL_NOTIF));
+
+	sysipc_ops_t *ops = sysipc_ops_get(call->request_method);
+	if (ops->answer_process)
+		ops->answer_process(call);
+
 	ipc_call_free(call);
 	goto restart;
