Index: kernel/generic/src/ipc/sysipc.c
===================================================================
--- kernel/generic/src/ipc/sysipc.c	(revision ed88c8e9e48e792fdd0df46568e33e36eb624db3)
+++ kernel/generic/src/ipc/sysipc.c	(revision f4aa1c8e3a4239bb0582d838aa5941f52b7bd3ca)
@@ -552,6 +552,6 @@
 		ipc_answer(&TASK->answerbox, call);
 
-	/* Republish the capability so that the call does not get lost. */
-	cap_publish(TASK, chandle, ckobj);
+	cap_free(TASK, chandle);
+	kobject_put(ckobj);
 
 	if (pkobj)
@@ -642,4 +642,5 @@
 
 	call_t *call = kobj->call;
+	assert(!(call->flags & IPC_CALL_ANSWERED));
 
 	ipc_data_t saved_data;
@@ -688,4 +689,5 @@
 
 	call_t *call = kobj->call;
+	assert(!(call->flags & IPC_CALL_ANSWERED));
 
 	ipc_data_t saved_data;
