I have managed to use your script and end-up with two part circles for those which overlap the 180 longitude line. The way I did it: - Create your buffer layer - Reproject it to EPSG:3832 ("Reprojected" layer in my screenshot) - Create a layer(4326) with a line at 180 deg longitude - Reproject that line to EPSG:3832 - Buffer that line (still in 3832) as a "BufferedLine" layer. Buffering width should be wide enough to be sure that it spans across the 180 line - Set the current rendering CRS to 3832 to have a clearer view, you should see the circles across the antimeridian, visually split by the buffered line: [![enter image description here][1]][1] - Apply a Difference transformation (Input: Reprojected, Overlay: BufferedLine, set the Input options to "Do not filter" for Invalid Features if you have errors. This should split the cirle in two parts that don't overlap the 180 longitude line. I don't know why, at first it did not work, the circle was not split, I had to try again. - Resulting "Difference" layer should show fine in EPSG:4326. - You can reproject "Difference" to EPSG:4326 Easter side, faulty geometry in green, new half geometry in grey: [![enter image description here][2]][2] Western side: [![enter image description here][3]][3] Full view without the inappropriate geometry: [![enter image description here][4]][4] I hope this works for your whole dataset [1]: https://i.sstatic.net/qmyJt.png [2]: https://i.sstatic.net/mxgsw.png [3]: https://i.sstatic.net/6t71F.png [4]: https://i.sstatic.net/RVZlX.jpg