This whole thing is basically a consequence of bug 892256 which was already afraid of running into a cycle.