diff --git a/eeschema/connection_graph.cpp b/eeschema/connection_graph.cpp index 1af5510186..98d108be3d 100644 --- a/eeschema/connection_graph.cpp +++ b/eeschema/connection_graph.cpp @@ -2673,9 +2673,21 @@ bool CONNECTION_GRAPH::ercCheckNoConnects( const CONNECTION_SUBGRAPH* aSubgraph { case SCH_PIN_T: { - // Only consider a connection to be between pins on different symbols - if( !pins.empty() && ( item->GetParent() != pins.front()->GetParent() ) ) - has_other_connections = true; + // Stacked pins do not count as other connections but non-stacked pins do + if( !has_other_connections && !pins.empty() ) + { + SCH_PIN* pin = static_cast( item ); + + for( SCH_PIN* other_pin : pins ) + { + if( other_pin->GetParent() != pin->GetParent() + || other_pin->GetPosition() != pin->GetPosition() ) + { + has_other_connections = true; + break; + } + } + } pins.emplace_back( static_cast( item ) );