Fix: should always XOR