diff --git a/src/libslic3r/GCode.cpp b/src/libslic3r/GCode.cpp index b0419bf18..011158204 100644 --- a/src/libslic3r/GCode.cpp +++ b/src/libslic3r/GCode.cpp @@ -3849,6 +3849,15 @@ GCode::LayerResult GCode::process_layer( break; } } + if (print.config().filament_is_support.get_at(dontcare_extruder)) { + // The last extruder printed on the previous layer extrudes support filament. + // Try to find a non-support extruder on the same layer. + for (unsigned int extruder_id : layer_tools.extruders) + if (!print.config().filament_is_support.get_at(extruder_id)) { + dontcare_extruder = extruder_id; + break; + } + } if (support_dontcare) support_extruder = dontcare_extruder; if (interface_dontcare)