diff --git a/core/src/net/sf/openrocket/rocketcomponent/FlightConfiguration.java b/core/src/net/sf/openrocket/rocketcomponent/FlightConfiguration.java index 2b58e7b64..b01aeb23e 100644 --- a/core/src/net/sf/openrocket/rocketcomponent/FlightConfiguration.java +++ b/core/src/net/sf/openrocket/rocketcomponent/FlightConfiguration.java @@ -748,7 +748,12 @@ public class FlightConfiguration implements FlightConfigurableParameter instanceCoordinates = component.getComponentBounds(); + List parsedContexts = new ArrayList<>(); for (InstanceContext context : contexts) { + // Don't parse the same context component twice (e.g. multiple copies in a pod set). + if (parsedContexts.contains(context.component)) { + continue; + } Collection transformedCoords = new ArrayList<>(instanceCoordinates); // mutating. Transforms coordinates in place. context.transform.transform(instanceCoordinates); @@ -759,7 +764,9 @@ public class FlightConfiguration implements FlightConfigurableParameter