diff --git a/VirtualRobot/Visualization/CoinVisualization/CoinVisualizationFactory.cpp b/VirtualRobot/Visualization/CoinVisualization/CoinVisualizationFactory.cpp
index da7c53c1fca8fab07e0be32ac7338322ece573e0..5b20493e4ea8338110089b9c7c20a92918e66678 100644
--- a/VirtualRobot/Visualization/CoinVisualization/CoinVisualizationFactory.cpp
+++ b/VirtualRobot/Visualization/CoinVisualization/CoinVisualizationFactory.cpp
@@ -1008,7 +1008,7 @@ namespace VirtualRobot {
             VisualizationFactory::Color triColor = (model->colors.size() == 0)? color : model->colors[model->faces[i].idColor1];
 
             SoSeparator* s;
-            if (model->materials.size() == 0) {
+			if (model->faces[i].idMaterial >= model->materials.size()) {
                 s = CreatePolygonVisualization(v,triColor,lineColor,lineSize);
             } else {
                 VisualizationFactory::PhongMaterial mat = model->materials[model->faces[i].idMaterial];