Strangely enough, if we do pass an error variable to be filled, we no longer get an error on leaving.