Index: rail_cmd.c =================================================================== --- rail_cmd.c (r‚vision 4703) +++ rail_cmd.c (copie de travail) @@ -1493,9 +1493,13 @@ { const SignalVehicleCheckStruct* dest = data; TileIndex tile; + TrackdirBits depotbits[] = {TRACKDIR_BIT_X_NE, TRACKDIR_BIT_Y_SE, TRACKDIR_BIT_X_SW, TRACKDIR_BIT_Y_NW}; if (v->type != VEH_Train) return NULL; + /* The "signal update" procedure entered the depot from the wrong side */ + if (IsTileDepotType(dest->tile, TRANSPORT_RAIL) && dest->track == depotbits[GetRailDepotDirection(dest->tile)]) return NULL; + /* Find the tile outside the tunnel, for signalling */ if (v->u.rail.track == 0x40) { tile = GetVehicleOutOfTunnelTile(v);