Combine reassignment with swaps