diff --git a/3d-viewer/3d_canvas/create_3Dgraphic_brd_items.cpp b/3d-viewer/3d_canvas/create_3Dgraphic_brd_items.cpp index 052fd94d23..e0c44378e6 100644 --- a/3d-viewer/3d_canvas/create_3Dgraphic_brd_items.cpp +++ b/3d-viewer/3d_canvas/create_3Dgraphic_brd_items.cpp @@ -421,7 +421,11 @@ void BOARD_ADAPTER::addPads( const FOOTPRINT* aFootprint, CONTAINER_2D_BASE* aCo { for( PAD* pad : aFootprint->Pads() ) { - if( !pad->FlashLayer( aLayerId ) ) + if( !pad->IsOnLayer( aLayerId ) ) + continue; + + // Skip pad annulus when not connected on this layer (if removing is enabled) + if( !pad->FlashLayer( aLayerId ) && IsCopperLayer( aLayerId ) ) continue; // NPTH pads are not drawn on layers if the shape size and pos is the same as their hole: