diff --git a/lib/generic/lru.h b/lib/generic/lru.h
index 11abe016bc905033c02fe3b57d0a78b9dc46cbfe..8622c96f76bd9f0b7ea00ae40d4a7e3932c8d077 100644
--- a/lib/generic/lru.h
+++ b/lib/generic/lru.h
@@ -166,7 +166,7 @@ static inline void *lru_slot_set(struct lru_hash_base *lru, const char *key, uin
 	uint32_t id = hash(key, len) % lru->size;
 	struct lru_slot *slot = lru_slot_at(lru, id);
 	if (lru_slot_match(slot, key, len)) {
-		slot->refs = 1; /* Increase slot significance */
+		slot->refs += 1; /* Increase slot significance */
 	} else {
 		if (slot->key) {
 			slot->refs -= 1; /* Decrease slot significance */