diff --git a/src/system/kernel/slab/ObjectCache.cpp b/src/system/kernel/slab/ObjectCache.cpp index 1b60e9c2a0..0ff1195bd4 100644 --- a/src/system/kernel/slab/ObjectCache.cpp +++ b/src/system/kernel/slab/ObjectCache.cpp @@ -232,8 +232,8 @@ ObjectCache::ReturnObjectToSlab(slab* source, void* object, uint32 flags) partial.Remove(source); if (empty_count < pressure - && total_objects - used_count - source->size - >= min_object_reserve) { + || (total_objects - (used_count + source->size)) + < min_object_reserve) { empty_count++; empty.Add(source); } else {