If there's an exception then we should re-throw it as we did before: e.g. if the "localTrans" is renamed this code won't do the hacky cleanup any longer..