Index: kernel/generic/src/adt/hash_table.c
===================================================================
--- kernel/generic/src/adt/hash_table.c	(revision 37be841152ff62e155d0f676e9aaacf6ca64d1af)
+++ kernel/generic/src/adt/hash_table.c	(revision b014e9f8dfc796df22c985c021ea0869071a9d5a)
@@ -132,5 +132,5 @@
 /** Remove all matching items from hash table.
  *
- * For each removed item, h->remove_callback() is called.
+ * For each removed item, h->remove_callback() is called (if not NULL).
  *
  * @param h Hash table.
@@ -147,5 +147,4 @@
 	ASSERT(h->op->hash);
 	ASSERT(h->op->compare);
-	ASSERT(h->op->remove_callback);
 	ASSERT(keys <= h->max_keys);
 	
@@ -159,5 +158,6 @@
 		if (cur) {
 			list_remove(cur);
-			h->op->remove_callback(cur);
+			if (h->op->remove_callback)
+				h->op->remove_callback(cur);
 		}
 		return;
@@ -177,5 +177,6 @@
 				
 				list_remove(hlp);
-				h->op->remove_callback(hlp);
+				if (h->op->remove_callback)
+					h->op->remove_callback(hlp);
 				
 				continue;
