Revert dropped when error returned.

why you nullify it? and why only if there was an error?