diff --git a/src/openrct2/paint/tile_element/Paint.Path.cpp b/src/openrct2/paint/tile_element/Paint.Path.cpp index 3e9fa281b4..6eda35efe3 100644 --- a/src/openrct2/paint/tile_element/Paint.Path.cpp +++ b/src/openrct2/paint/tile_element/Paint.Path.cpp @@ -918,7 +918,11 @@ void path_paint(paint_session* session, uint16_t height, const TileElement* tile } else if (surface->GetBaseZ() != height) { - hasSupports = true; + const auto* surfaceEntry = pathEl->GetSurfaceEntry(); + const bool showUndergroundRailings = surfaceEntry == nullptr + || !(surfaceEntry->Flags & FOOTPATH_ENTRY_FLAG_NO_SLOPE_RAILINGS); + if (surface->GetBaseZ() < height || showUndergroundRailings) + hasSupports = true; } else {