Index: industry_gui.cpp =================================================================== --- industry_gui.cpp (revision 21002) +++ industry_gui.cpp (working copy) @@ -927,6 +927,12 @@ if (this->viewport != NULL) { NWidgetViewport *nvp = this->GetWidget(IVW_VIEWPORT); nvp->UpdateViewportCoordinates(this); + + /* Recenter viewport */ + TileIndex t = Industry::Get(this->window_number)->location.tile + TileDiffXY(1, 1); + int x = TileX(t) * TILE_SIZE; + int y = TileY(t) * TILE_SIZE; + ScrollWindowTo(x, y, -1, this, true); } } Index: widget.cpp =================================================================== --- widget.cpp (revision 21002) +++ widget.cpp (working copy) @@ -1573,7 +1573,7 @@ /** * Initialize the viewport of the window. * @param w Window owning the viewport. - * @param follow_flags Type of viewport, see #InitializeViewport(). + * @param follow_flags Type of viewport, see #InitializeWindowViewport(). * @param zoom Zoom level. */ void NWidgetViewport::InitializeViewport(Window *w, uint32 follow_flags, ZoomLevel zoom) Index: viewport.cpp =================================================================== --- viewport.cpp (revision 21002) +++ viewport.cpp (working copy) @@ -173,7 +173,7 @@ * @param height Height of the viewport * @param follow_flags Flags controlling the viewport. * - If bit 31 is set, the lower 16 bits are the vehicle that the viewport should follow. - * - If bit 31 is clear, it is a tile position. + * - If bit 31 is clear, it is a #TileIndex. * @param zoom Zoomlevel to display */ void InitializeWindowViewport(Window *w, int x, int y,