diff --git a/src/libslic3r/GCode.cpp b/src/libslic3r/GCode.cpp
index b37b9e5cd..054826fc1 100644
--- a/src/libslic3r/GCode.cpp
+++ b/src/libslic3r/GCode.cpp
@@ -280,6 +280,7 @@ namespace Slic3r {
 
     void AvoidCrossingPerimeters2::init_layer(const Layer &layer)
     {
+        m_boundaries.clear();
         BoundingBox bbox = get_extents(layer.lslices);
         bbox.offset(SCALED_EPSILON);
         ExPolygons boundaries = get_boundary(layer);