diff --git a/crates/fj-kernel/src/algorithms/sweep/edge.rs b/crates/fj-kernel/src/algorithms/sweep/edge.rs index 0a5ab39a4..bb63a6064 100644 --- a/crates/fj-kernel/src/algorithms/sweep/edge.rs +++ b/crates/fj-kernel/src/algorithms/sweep/edge.rs @@ -186,7 +186,10 @@ fn create_non_continuous_side_face( let [_, prev_last] = edges[i].vertices().get_or_panic(); let [next_first, _] = edges[j].vertices().get_or_panic(); - if prev_last.global_form() != next_first.global_form() { + // Need to compare surface forms here, as the global forms might be + // coincident when sweeping circles, despite the vertices being + // different! + if prev_last.surface_form() != next_first.surface_form() { edges[j] = edges[j].reverse(); }