diff --git a/src/libslic3r/GCode.cpp b/src/libslic3r/GCode.cpp index be21314504..12d6181f4f 100644 --- a/src/libslic3r/GCode.cpp +++ b/src/libslic3r/GCode.cpp @@ -4352,6 +4352,15 @@ 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)