swap bug fix