diff --git a/eeschema/sch_plugins/eagle/sch_eagle_plugin.cpp b/eeschema/sch_plugins/eagle/sch_eagle_plugin.cpp index f5876240b3..c106778746 100644 --- a/eeschema/sch_plugins/eagle/sch_eagle_plugin.cpp +++ b/eeschema/sch_plugins/eagle/sch_eagle_plugin.cpp @@ -1003,6 +1003,12 @@ void SCH_EAGLE_PLUGIN::loadSheet( wxXmlNode* aSheetNode, int aSheetIndex ) for( SCH_ITEM* item : allItems ) { item->SetPosition( item->GetPosition() + translation ); + + // We don't read positions of Eagle label fields (primarily intersheet refs), so we + // need to autoplace them after applying the translation. + if( SCH_LABEL_BASE* label = dynamic_cast( item ) ) + label->AutoplaceFields( screen, false ); + item->ClearFlags(); screen->Update( item );