Same problem if i do it in two steps. I found a way to resolve this, if i don't use snap for the points that are on the edges (so, the first one, the 3rd, the 5th and the 7th) and snap for the points that aren't on edges (2nd, 4th, 6th and the 8th) it works just fine ...