Fix cancellation event firing multiple times