*     passing the --force argument
                 */
 
-               ref->update =
-                       !ref->deletion &&
-                       !is_null_sha1(ref->old_sha1);
-
-               if (ref->update) {
-                       ref->nonfastforward =
+               if (!ref->deletion && !is_null_sha1(ref->old_sha1)) {
+                       int nonfastforward =
                                !has_sha1_file(ref->old_sha1)
-                                 || !ref_newer(ref->new_sha1, ref->old_sha1);
+                               || !ref_newer(ref->new_sha1, ref->old_sha1);
 
                        if (!prefixcmp(ref->name, "refs/tags/")) {
-                               ref->requires_force = 1;
                                if (!force_ref_update) {
                                        ref->status = REF_STATUS_REJECT_ALREADY_EXISTS;
                                        continue;
                                }
-                       } else if (ref->nonfastforward) {
-                               ref->requires_force = 1;
+                               ref->forced_update = 1;
+                       } else if (nonfastforward) {
                                if (!force_ref_update) {
                                        ref->status = REF_STATUS_REJECT_NONFASTFORWARD;
                                        continue;
                                }
+                               ref->forced_update = 1;
                        }
                }
        }
 
                const char *msg;
 
                strcpy(quickref, status_abbrev(ref->old_sha1));
-               if (ref->requires_force) {
+               if (ref->forced_update) {
                        strcat(quickref, "...");
                        type = '+';
                        msg = "forced update";