continue;
                }
 
-               if (test_and_clear_bit(NFS4CLNT_CHECK_LEASE, &clp->cl_state)) {
-                       section = "check lease";
-                       status = nfs4_check_lease(clp);
-                       if (status < 0)
-                               goto out_error;
-                       if (test_bit(NFS4CLNT_LEASE_EXPIRED, &clp->cl_state))
-                               continue;
-               }
-
                /* Initialize or reset the session */
                if (test_and_clear_bit(NFS4CLNT_SESSION_RESET, &clp->cl_state)) {
                        section = "reset session";
                        continue;
                }
 
+               if (test_and_clear_bit(NFS4CLNT_CHECK_LEASE, &clp->cl_state)) {
+                       section = "check lease";
+                       status = nfs4_check_lease(clp);
+                       if (status < 0)
+                               goto out_error;
+                       continue;
+               }
+
                /* Recall session slots */
                if (test_and_clear_bit(NFS4CLNT_RECALL_SLOT, &clp->cl_state)) {
                        section = "recall slot";