skb->pkt_type = PACKET_OTHERHOST;
                nf_bridge->pkt_otherhost = false;
        }
-       nf_bridge->mask ^= BRNF_NF_BRIDGE_PREROUTING;
+       nf_bridge->mask &= ~BRNF_NF_BRIDGE_PREROUTING;
 
        rt = bridge_parent_rtable(nf_bridge->physindev);
        if (!rt) {
                skb->pkt_type = PACKET_OTHERHOST;
                nf_bridge->pkt_otherhost = false;
        }
-       nf_bridge->mask ^= BRNF_NF_BRIDGE_PREROUTING;
+       nf_bridge->mask &= ~BRNF_NF_BRIDGE_PREROUTING;
        if (daddr_was_changed(skb, nf_bridge)) {
                if ((err = ip_route_input(skb, iph->daddr, iph->saddr, iph->tos, dev))) {
                        struct in_device *in_dev = __in_dev_get_rcu(dev);