diff --git a/src/libslic3r/GCode.cpp b/src/libslic3r/GCode.cpp index 333b9b842a..392f58fc48 100644 --- a/src/libslic3r/GCode.cpp +++ b/src/libslic3r/GCode.cpp @@ -6199,11 +6199,13 @@ std::string GCode::_extrude(const ExtrusionPath &path, std::string description, "move to first " + description + " point", sloped == nullptr ? DBL_MAX : get_sloped_z(sloped->slope_begin.z_ratio) ); - m_need_change_layer_lift_z = false; // Orca: ensure Z matches planned layer height - if (_last_pos_undefined && !slope_need_z_travel) { - gcode += this->writer().travel_to_z(m_nominal_z, "ensure Z matches planned layer height", true); + if (!slope_need_z_travel && (_last_pos_undefined || m_need_change_layer_lift_z)) { + const std::string z_sync_comment = _last_pos_undefined ? + "ensure Z matches planned layer height" : ""; // no comment for normal layer-Z lift + gcode += this->writer().travel_to_z(m_nominal_z, z_sync_comment, true); } + m_need_change_layer_lift_z = false; }