Index: kernel/generic/src/proc/task.c
===================================================================
--- kernel/generic/src/proc/task.c	(revision fb13b443f9001bc37d9726efa1ca239735ab5bd0)
+++ kernel/generic/src/proc/task.c	(revision 70d28e8d1b2259d26ca6a608797be694ef1b5a15)
@@ -586,10 +586,10 @@
 /** Kill the currently running task.
  *
- * @param notify Send out fault notifications.
+ * @param fault Send out fault notifications.
  *
  * @return Zero on success or an error code from errno.h.
  *
  */
-void task_kill_self(bool notify)
+void task_kill_self(bool fault)
 {
 	/*
@@ -599,5 +599,5 @@
 	 * that's all you get.
 	 */
-	if (notify) {
+	if (fault) {
 		/* Notify the subscriber that a fault occurred. */
 		if (event_notify_3(EVENT_FAULT, false, LOWER32(TASK->taskid),
@@ -619,10 +619,10 @@
 /** Process syscall to terminate the current task.
  *
- * @param notify Send out fault notifications.
- *
- */
-sys_errno_t sys_task_exit(sysarg_t notify)
-{
-	task_kill_self(notify);
+ * @param fault Send out fault notifications.
+ *
+ */
+sys_errno_t sys_task_exit(sysarg_t fault)
+{
+	task_kill_self(fault);
 	unreachable();
 }
Index: kernel/generic/src/proc/thread.c
===================================================================
--- kernel/generic/src/proc/thread.c	(revision fb13b443f9001bc37d9726efa1ca239735ab5bd0)
+++ kernel/generic/src/proc/thread.c	(revision 70d28e8d1b2259d26ca6a608797be694ef1b5a15)
@@ -522,4 +522,11 @@
 			sys_waitq_task_cleanup();
 			LOG("Cleanup of task %" PRIu64 " completed.", TASK->taskid);
+
+			/*
+			 * Notify about task exit, it is meant to be signalled
+			 * after any IPC cleanup operations. Ignore any errors.
+			 */
+			(void)event_notify_2(EVENT_EXIT, false,
+			    LOWER32(TASK->taskid), UPPER32(TASK->taskid));
 		}
 	}
