diff --git a/src/roadveh_cmd.cpp b/src/roadveh_cmd.cpp --- a/src/roadveh_cmd.cpp +++ b/src/roadveh_cmd.cpp @@ -880,7 +880,9 @@ static bool RoadVehAccelerate(Vehicle *v // Clamp spd = min(spd, v->max_speed); - if (v->u.road.state == RVSB_WORMHOLE) spd = min(spd, SetSpeedLimitOnBridge(v)); + if (v->u.road.state == RVSB_WORMHOLE && !(v->vehstatus & VS_HIDDEN)) { + spd = min(spd, GetBridge(GetBridgeType(v->tile))->speed * 2); + } //updates statusbar only if speed have changed to save CPU time if (spd != v->cur_speed) {