Mathematica, 53 bytes
(For[i=n=#,n>1,--n,If[n∣i,i+=n(2Mod[i/n,2]-1)]];i)&
I decided to golf my reference implementation. The ∣
is the Unicode symbol for "divides", and counts for 3 bytes. Otherwise, this uses the same algorithm as everyone else.