diff --git a/server/unittools.cpp b/server/unittools.cpp index 5455e76af9..c035a3016a 100644 --- a/server/unittools.cpp +++ b/server/unittools.cpp @@ -1413,6 +1413,10 @@ void bounce_unit(struct unit *punit, int max_distance, } } + if (on_failure) { + on_failure({.bunit = punit}); + } + /* Didn't find a place to bounce the unit, going to disband it. * Try to bounce transported units. */ if (0 < get_transporter_occupancy(punit)) { @@ -1428,10 +1432,6 @@ void bounce_unit(struct unit *punit, int max_distance, } } - if (on_failure) { - on_failure({.bunit = punit}); - } - wipe_unit(punit, ULR_STACK_CONFLICT, nullptr); }