diff --git a/3d-viewer/3d_canvas/create_layer_items.cpp b/3d-viewer/3d_canvas/create_layer_items.cpp index 721e3eadf1..0152978acd 100644 --- a/3d-viewer/3d_canvas/create_layer_items.cpp +++ b/3d-viewer/3d_canvas/create_layer_items.cpp @@ -185,8 +185,12 @@ void BOARD_ADAPTER::createLayers( REPORTER* aStatusReporter ) for( PCB_TRACK* track : m_board->Tracks() ) { - if( !Is3dLayerEnabled( track->GetLayer(), visibilityFlags ) ) // Skip non enabled layers + // Skip tracks (not vias that are on more than one layer ) on disabled layers + if( !track->Type() == PCB_VIA_T + && !Is3dLayerEnabled( track->GetLayer(), visibilityFlags ) ) + { continue; + } // Note: a PCB_TRACK holds normal segment tracks and also vias circles (that have also // drill values)