Change the priorities of the event listeners, this way the protections
and the penalties get applied before the other listener cancels it.