Index: kernel/generic/include/ipc/ipc.h
===================================================================
--- kernel/generic/include/ipc/ipc.h	(revision 983cabe81d6e99396d661e20ad33116d7fb180a9)
+++ kernel/generic/include/ipc/ipc.h	(revision cd671c3d0b2c39e24a8731d0ec7f631bdb39f864)
@@ -116,4 +116,6 @@
 	link_t ta_link;
 
+	atomic_t refcnt;
+
 	/** Answerbox link. */
 	link_t ab_link;
@@ -166,4 +168,6 @@
 extern call_t *ipc_call_alloc(unsigned int);
 extern void ipc_call_free(call_t *);
+extern void ipc_call_hold(call_t *);
+extern void ipc_call_release(call_t *);
 
 extern int ipc_call(phone_t *, call_t *);
Index: kernel/generic/include/ipc/sysipc_ops.h
===================================================================
--- kernel/generic/include/ipc/sysipc_ops.h	(revision 983cabe81d6e99396d661e20ad33116d7fb180a9)
+++ kernel/generic/include/ipc/sysipc_ops.h	(revision cd671c3d0b2c39e24a8731d0ec7f631bdb39f864)
@@ -55,5 +55,6 @@
 	 * Context:		caller
 	 * Caller alive:	guaranteed
-	 * Races with:		request_process(), answer_cleanup()
+	 * Races with:		request_process(), answer_cleanup(),
+	 *			_ipc_answer_free_call()
 	 * Invoked on:		all forgotten calls
 	 */	
