Index: kernel/generic/include/synch/syswaitq.h
===================================================================
--- kernel/generic/include/synch/syswaitq.h	(revision fa3ed5b2ad5250dbbe32d35a1db4cf866f983ba6)
+++ kernel/generic/include/synch/syswaitq.h	(revision df721df422cfb20304ab89fc1a3e626084a124f3)
@@ -44,6 +44,4 @@
 extern void sys_waitq_init(void);
 
-extern void sys_waitq_task_cleanup(void);
-
 extern sys_errno_t sys_waitq_create(uspace_ptr_cap_waitq_handle_t);
 extern sys_errno_t sys_waitq_sleep(cap_waitq_handle_t, uint32_t, unsigned int);
Index: kernel/generic/src/proc/thread.c
===================================================================
--- kernel/generic/src/proc/thread.c	(revision fa3ed5b2ad5250dbbe32d35a1db4cf866f983ba6)
+++ kernel/generic/src/proc/thread.c	(revision df721df422cfb20304ab89fc1a3e626084a124f3)
@@ -444,5 +444,4 @@
 			 */
 			ipc_cleanup();
-			sys_waitq_task_cleanup();
 			caps_task_clear(TASK);
 			LOG("Cleanup of task %" PRIu64 " completed.", TASK->taskid);
Index: kernel/generic/src/synch/syswaitq.c
===================================================================
--- kernel/generic/src/synch/syswaitq.c	(revision fa3ed5b2ad5250dbbe32d35a1db4cf866f983ba6)
+++ kernel/generic/src/synch/syswaitq.c	(revision df721df422cfb20304ab89fc1a3e626084a124f3)
@@ -58,13 +58,4 @@
 };
 
-static bool waitq_cap_cleanup_cb(cap_t *cap, void *arg)
-{
-	kobject_t *kobj = cap_unpublish(cap->task, cap->handle,
-	    KOBJECT_TYPE_WAITQ);
-	kobject_put(kobj);
-	cap_free(cap->task, cap->handle);
-	return true;
-}
-
 /** Initialize the user waitq subsystem */
 void sys_waitq_init(void)
@@ -72,11 +63,4 @@
 	waitq_cache = slab_cache_create("waitq_t", sizeof(waitq_t), 0, NULL,
 	    NULL, 0);
-}
-
-/** Clean-up all waitq capabilities held by the exiting task */
-void sys_waitq_task_cleanup(void)
-{
-	caps_apply_to_kobject_type(TASK, KOBJECT_TYPE_WAITQ,
-	    waitq_cap_cleanup_cb, NULL);
 }
 
