if (likely(!n)) {
 
-               /*
-                * If we just froze the page then put it onto the
-                * per cpu partial list.
-                */
-               if (new.frozen && !was_frozen) {
+               if (likely(was_frozen)) {
+                       /*
+                        * The list lock was not taken therefore no list
+                        * activity can be necessary.
+                        */
+                       stat(s, FREE_FROZEN);
+               } else if (new.frozen) {
+                       /*
+                        * If we just froze the page then put it onto the
+                        * per cpu partial list.
+                        */
                        put_cpu_partial(s, page, 1);
                        stat(s, CPU_PARTIAL_FREE);
                }
-               /*
-                * The list lock was not taken therefore no list
-                * activity can be necessary.
-                */
-               if (was_frozen)
-                       stat(s, FREE_FROZEN);
+
                return;
        }