Index: kernel/generic/src/adt/hash_table.c
===================================================================
--- kernel/generic/src/adt/hash_table.c	(revision 84239b1cd7c5ed286263ce4edb649da00b34b249)
+++ kernel/generic/src/adt/hash_table.c	(revision 963037b03d0c4638e2e8a5213a3c29228dec8382)
@@ -274,7 +274,13 @@
 	assert(h && h->bucket);
 
+	size_t idx = h->op->hash(item) % h->bucket_cnt;
+
 	/* Traverse the circular list until we reach the starting item again. */
 	for (link_t *cur = item->link.next; cur != &item->link; cur = cur->next) {
 		assert(cur);
+
+		if (cur == &h->bucket[idx].head)
+			continue;
+
 		ht_link_t *cur_link = member_to_inst(cur, ht_link_t, link);
 		/*
