Backport Abandonment from Async