Index: kernel/generic/src/adt/hash_table.c
===================================================================
--- kernel/generic/src/adt/hash_table.c	(revision 7b0297b035184452f47c9eb3d0eed27cf2ae6d1b)
+++ kernel/generic/src/adt/hash_table.c	(revision 3636964a0c670d2ee2523425ef20a055d82a337d)
@@ -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;
