Index: kernel/generic/include/adt/cht.h
===================================================================
--- kernel/generic/include/adt/cht.h	(revision 43b8c65003b6569f828165488dec05a6df6be3b2)
+++ kernel/generic/include/adt/cht.h	(revision 5d230a30bd6fd0cd7ce41aa27f5139fe2bae2fb3)
@@ -136,4 +136,5 @@
 	size_t max_load, bool can_block, cht_ops_t *op);
 extern void cht_destroy(cht_t *h);
+extern void cht_destroy_unsafe(cht_t *h);
 
 extern cht_link_t *cht_find(cht_t *h, void *key);
Index: kernel/generic/include/proc/task.h
===================================================================
--- kernel/generic/include/proc/task.h	(revision 43b8c65003b6569f828165488dec05a6df6be3b2)
+++ kernel/generic/include/proc/task.h	(revision 5d230a30bd6fd0cd7ce41aa27f5139fe2bae2fb3)
@@ -129,12 +129,12 @@
 	task_arch_t arch;
 	
-	/** Serializes access to futex_list (independent of the task spinlock). */
-	mutex_t futex_list_lock;
-	/** List of all futexes accesses by this task. */
-	list_t futex_list;
-	/** CHT mapping virtual addresses of futex variables to futex objects. */
 	struct futex_cache {
+		/** CHT mapping virtual addresses of futex variables to futex objects.*/
+		cht_t ht;
+		/** Serializes access to futex_list.*/
+		mutex_t list_lock;
+		/** List of all futexes accesses by this task. */
+		list_t list;
 		work_t destroy_work;
-		cht_t ht;
 	} *futexes;
 	
