diff --git a/src/slic3r/GUI/DoubleSlider.cpp b/src/slic3r/GUI/DoubleSlider.cpp
index 4d29e13a7..4a5bea9a1 100644
--- a/src/slic3r/GUI/DoubleSlider.cpp
+++ b/src/slic3r/GUI/DoubleSlider.cpp
@@ -935,9 +935,12 @@ wxString Control::get_tooltip(IconFocus icon_focus)
             if (conflict == ctModeConflict)
                 tooltip +=  _(L("G-code of this tick has a conflict with slider(print) mode.\n"
                                 "Any its editing will cause a changes of DoubleSlider data."));
-            else if (conflict == ctMeaningless)
+            else if (conflict == ctMeaninglessColorChange)
                 tooltip +=  _(L("There is a color change for extruder that wouldn't be used till the end of printing.\n"
                                 "This code wouldn't be processed during GCode generation."));
+            else if (conflict == ctMeaninglessToolChange)
+                tooltip +=  _(L("There is a extruder change to the same extruder.\n"
+                                "This code wouldn't be processed during GCode generation."));
             else if (conflict == ctRedundant)
                 tooltip +=  _(L("There is a color change for extruder that has not been used before.\n"
                                 "Check your choice to avoid redundant color changes."));
@@ -1835,12 +1838,12 @@ ConflictType TickCodeInfo::is_conflict_tick(const TickCode& tick, t_mode out_mod
     // check ColorChange tick
     if (tick.gcode == ColorChangeCode)
     {
-        // We should mark a tick as a "Meaningless", 
+        // We should mark a tick as a "MeaninglessColorChange", 
         // if it has a ColorChange for unused extruder from current print to end of the print
         std::set<int> used_extruders_for_tick = get_used_extruders_for_tick(tick.tick, only_extruder, print_z);
 
         if (used_extruders_for_tick.find(tick.extruder) == used_extruders_for_tick.end())
-            return ctMeaningless;
+            return ctMeaninglessColorChange;
 
         // We should mark a tick as a "Redundant", 
         // if it has a ColorChange for extruder that has not been used before
@@ -1860,6 +1863,21 @@ ConflictType TickCodeInfo::is_conflict_tick(const TickCode& tick, t_mode out_mod
         }
     }
 
+    // check ToolChange tick
+    if (mode == t_mode::MultiAsSingle && tick.gcode == ToolChangeCode)
+    {
+        // We should mark a tick as a "MeaninglessToolChange", 
+        // if it has a ToolChange to the same extruder
+
+        auto it = ticks.find(tick);
+        if (it == ticks.begin())
+            return tick.extruder == std::max<int>(only_extruder, 1) ? ctMeaninglessToolChange : ctNone;
+
+        --it;
+        if (it->gcode == ToolChangeCode && tick.extruder == it->extruder)
+            return ctMeaninglessToolChange;
+    }
+
     return ctNone;
 }
 
diff --git a/src/slic3r/GUI/DoubleSlider.hpp b/src/slic3r/GUI/DoubleSlider.hpp
index 064ed0464..f14af621f 100644
--- a/src/slic3r/GUI/DoubleSlider.hpp
+++ b/src/slic3r/GUI/DoubleSlider.hpp
@@ -43,7 +43,8 @@ enum ConflictType
 {
     ctNone,
     ctModeConflict,
-    ctMeaningless,
+    ctMeaninglessColorChange,
+    ctMeaninglessToolChange,
     ctRedundant
 };