diff --git a/src/slic3r/GUI/PresetComboBoxes.cpp b/src/slic3r/GUI/PresetComboBoxes.cpp index c0ccbe474..084a4225b 100644 --- a/src/slic3r/GUI/PresetComboBoxes.cpp +++ b/src/slic3r/GUI/PresetComboBoxes.cpp @@ -1661,6 +1661,16 @@ void GUI::CalibrateFilamentComboBox::load_tray(DynamicPrintConfig &config) bool is_compatible = m_preset_bundle->calibrate_filaments.find(&f) != m_preset_bundle->calibrate_filaments.end(); return is_compatible && f.filament_id == m_filament_id; }); + + // Prioritize matching system presets. If there are no system presets, match all presets. + if (iter == filaments.end()) { + iter = std::find_if(filaments.begin(), filaments.end(), [this](auto &f) { + if (f.is_system) // Only match system preset + return false; + bool is_compatible = m_preset_bundle->calibrate_filaments.find(&f) != m_preset_bundle->calibrate_filaments.end(); + return is_compatible && f.filament_id == m_filament_id; + }); + } //if (iter == filaments.end() && !m_filament_type.empty()) { // auto filament_type = "Generic " + m_filament_type; // iter = std::find_if(filaments.begin(), filaments.end(),