diff --git a/mm/slub.c b/mm/slub.c
index 6da68597bde8b2228695ebfa8a2d1a06253b5918..9f662d70eb4772c041349d7febb0c74c571c6aa9 100644
--- a/mm/slub.c
+++ b/mm/slub.c
@@ -1854,7 +1854,7 @@ redo:
 
 	new.frozen = 0;
 
-	if (!new.inuse && n->nr_partial < s->min_partial)
+	if (!new.inuse && n->nr_partial > s->min_partial)
 		m = M_FREE;
 	else if (new.freelist) {
 		m = M_PARTIAL;