Index: kernel/generic/src/ipc/ipc.c
===================================================================
--- kernel/generic/src/ipc/ipc.c	(revision e618885aeebd9059e7aa066703b5c59019620a4e)
+++ kernel/generic/src/ipc/ipc.c	(revision ca618943c6e22860744ec300b3e3450668fc0d15)
@@ -756,20 +756,13 @@
 static void ipc_wait_for_all_answered_calls(void)
 {
-	call_t *call;
-
-restart:
-	if (atomic_get(&TASK->answerbox.active_calls) == 0) {
-		/* Got into cleanup */
-		return;
-	}
-
-	call = ipc_wait_for_call(&TASK->answerbox, SYNCH_NO_TIMEOUT,
-	    SYNCH_FLAGS_NONE);
-	assert(call->flags & (IPC_CALL_ANSWERED | IPC_CALL_NOTIF));
-
-	SYSIPC_OP(answer_process, call);
-
-	kobject_put(call->kobject);
-	goto restart;
+	while (atomic_get(&TASK->answerbox.active_calls) != 0) {
+		call_t *call = ipc_wait_for_call(&TASK->answerbox,
+		    SYNCH_NO_TIMEOUT, SYNCH_FLAGS_NONE);
+		assert(call->flags & (IPC_CALL_ANSWERED | IPC_CALL_NOTIF));
+
+		SYSIPC_OP(answer_process, call);
+
+		kobject_put(call->kobject);
+	}
 }
 
