diff --git a/security/selinux/ss/services.c b/security/selinux/ss/services.c
index deeec6c013aef6dee9d664e3fe46b0a892d9f27e..cad5765ca1cbb10a48523f9a51f48d75e1aee039 100644
--- a/security/selinux/ss/services.c
+++ b/security/selinux/ss/services.c
@@ -479,7 +479,7 @@ static int context_struct_compute_av(struct context *scontext,
 		if ((constraint->permissions & (avd->allowed)) &&
 		    !constraint_expr_eval(scontext, tcontext, NULL,
 					  constraint->expr)) {
-			avd->allowed = (avd->allowed) & ~(constraint->permissions);
+			avd->allowed &= ~(constraint->permissions);
 		}
 		constraint = constraint->next;
 	}
@@ -498,8 +498,8 @@ static int context_struct_compute_av(struct context *scontext,
 				break;
 		}
 		if (!ra)
-			avd->allowed = (avd->allowed) & ~(PROCESS__TRANSITION |
-							PROCESS__DYNTRANSITION);
+			avd->allowed &= ~(PROCESS__TRANSITION |
+					  PROCESS__DYNTRANSITION);
 	}
 
 	/*