diff --git a/src/slic3r/GUI/PresetComboBoxes.cpp b/src/slic3r/GUI/PresetComboBoxes.cpp
index da33ee51a..33ae4f54e 100644
--- a/src/slic3r/GUI/PresetComboBoxes.cpp
+++ b/src/slic3r/GUI/PresetComboBoxes.cpp
@@ -179,7 +179,9 @@ void PresetComboBox::update(std::string select_preset_name)
 
     const std::deque<Preset>& presets = m_collection->get_presets();
 
-    std::map<wxString, std::pair<wxBitmap*, bool>> nonsys_presets;
+    std::map<wxString, std::pair<wxBitmap*, bool>>  nonsys_presets;
+    std::map<wxString, wxBitmap*>                   incomp_presets;
+
     wxString selected = "";
     if (!presets.front().is_visible)
         set_label_marker(Append(separator(L("System presets")), wxNullBitmap));
@@ -206,15 +208,15 @@ void PresetComboBox::update(std::string select_preset_name)
         wxBitmap* bmp = get_bmp(bitmap_key, main_icon_name, "lock_closed", is_enabled, preset.is_compatible, preset.is_system || preset.is_default);
         assert(bmp);
 
-        if (preset.is_default || preset.is_system) {
-            int item_id = Append(wxString::FromUTF8((preset.name + (preset.is_dirty ? Preset::suffix_modified() : "")).c_str()), *bmp);
-            if (!is_enabled)
-                set_label_marker(item_id, LABEL_ITEM_DISABLED);
+        if (!is_enabled)
+            incomp_presets.emplace(wxString::FromUTF8((preset.name + (preset.is_dirty ? Preset::suffix_modified() : "")).c_str()), bmp);
+        else if (preset.is_default || preset.is_system)
+        {
+            Append(wxString::FromUTF8((preset.name + (preset.is_dirty ? Preset::suffix_modified() : "")).c_str()), *bmp);
             validate_selection(preset.name == select_preset_name);
         }
         else
         {
-            std::pair<wxBitmap*, bool> pair(bmp, is_enabled);
             nonsys_presets.emplace(wxString::FromUTF8((preset.name + (preset.is_dirty ? Preset::suffix_modified() : "")).c_str()), std::pair<wxBitmap*, bool>(bmp, is_enabled));
             if (preset.name == select_preset_name || (select_preset_name.empty() && is_enabled))
                 selected = wxString::FromUTF8((preset.name + (preset.is_dirty ? Preset::suffix_modified() : "")).c_str());
@@ -233,6 +235,13 @@ void PresetComboBox::update(std::string select_preset_name)
             validate_selection(it->first == selected);
         }
     }
+    if (!incomp_presets.empty())
+    {
+        set_label_marker(Append(separator(L("Incompatible presets")), wxNullBitmap));
+        for (std::map<wxString, wxBitmap*>::iterator it = incomp_presets.begin(); it != incomp_presets.end(); ++it) {
+            set_label_marker(Append(it->first, *it->second), LABEL_ITEM_DISABLED);
+        }
+    }
 
     update_selection();
     Thaw();