diff --git a/common/lc_thumbnailmanager.cpp b/common/lc_thumbnailmanager.cpp
index 50ef7e44..b6188b0b 100644
--- a/common/lc_thumbnailmanager.cpp
+++ b/common/lc_thumbnailmanager.cpp
@@ -114,11 +114,17 @@ void lcThumbnailManager::DrawThumbnail(lcPartThumbnailId ThumbnailId, lcPartThum
mView->UnbindRenderFramebuffer();
QImage Image = mView->GetRenderFramebufferImage().convertToFormat(QImage::Format_ARGB32);
+ const char* IconName = nullptr;
if (Info->GetSynthInfo())
+ IconName = ":/resources/part_flexible.png";
+ else if (Info->GetTrainTrackInfo())
+ IconName = ":/resources/part_traintrack.png";
+
+ if (IconName)
{
QPainter Painter(&Image);
- QImage Icon = QImage(":/resources/flexible.png");
+ QImage Icon = QImage(IconName);
uchar* ImageBits = Icon.bits();
QRgb TextColor = QApplication::palette().color(QPalette::WindowText).rgba();
int Red = qRed(TextColor);
diff --git a/common/lc_traintrack.cpp b/common/lc_traintrack.cpp
index 6a7246dc..0a138406 100644
--- a/common/lc_traintrack.cpp
+++ b/common/lc_traintrack.cpp
@@ -7,7 +7,6 @@
// todo:
// add cross 32087.dat and auto replace when going over a straight section
-// draw icon on thumbnails
// detect existing connections
// new gizmo mesh
// move config to json
diff --git a/leocad.qrc b/leocad.qrc
index 55c77979..4c43e621 100644
--- a/leocad.qrc
+++ b/leocad.qrc
@@ -146,7 +146,8 @@
resources/shaders/unlit_view_sphere_ps.glsl
resources/shaders/unlit_view_sphere_vs.glsl
resources/case.png
- resources/flexible.png
+ resources/part_flexible.png
+ resources/part_traintrack.png
resources/gear_in.png
diff --git a/resources/flexible.png b/resources/part_flexible.png
similarity index 100%
rename from resources/flexible.png
rename to resources/part_flexible.png
diff --git a/resources/part_traintrack.png b/resources/part_traintrack.png
new file mode 100644
index 00000000..d61980ec
Binary files /dev/null and b/resources/part_traintrack.png differ