Fix bug: duplicate rollback