Program transformations are one of the most valuable compiler techniques to improve data locality. However, restructuring
compilers have a hard time coping with data dependences. A typical solution is to focus on program parts where the dependences
are simple enough to enable any transformation. For more complex problems is only addressed the question of checking whether
a transformation is legal or not. In this paper we propose to go further. Starting from a transformation with no guarantee
on legality, we show how we can correct it for dependence satisfaction with no consequence on its locality properties. Generating
code having the best locality is a direct application of this result.