not clear why
I think the current code just does not take into account how relative the link initially was and just optimize the new one based on the target.