diff -r fad73323d72b src/pbs.cpp --- a/src/pbs.cpp Thu Dec 03 08:24:39 2009 +0000 +++ b/src/pbs.cpp Thu Dec 03 16:28:22 2009 +0100 @@ -243,7 +243,7 @@ if (v->type != VEH_TRAIN || (v->vehstatus & VS_CRASHED)) return NULL; Train *t = Train::From(v); - if (HasBit((TrackBits)t->track, TrackdirToTrack(info->res.trackdir))) { + if (HasBit((TrackBits)t->track, TrackdirToTrack(info->res.trackdir)) || t->track == TRACK_BIT_WORMHOLE) { t = t->First(); /* ALWAYS return the lowest ID (anti-desync!) */