diff --git a/graf3d/eve7/src/REveGluTess.cxx b/graf3d/eve7/src/REveGluTess.cxx
index 7d4aa42844111e7068abc8a11b68eac7c4f86af3..bc788c71ece4c2678fa4d6b20f812a521bf32a68 100644
--- a/graf3d/eve7/src/REveGluTess.cxx
+++ b/graf3d/eve7/src/REveGluTess.cxx
@@ -194,7 +194,14 @@ void ROOT::Experimental::EveGlu::TriangleCollector::ProcessData(const std::vecto
       }
 
       gluTessEndContour(fTess);
-      gluTessEndPolygon(fTess);
+
+      static int except_cnt = 0;
+
+      try {
+         gluTessEndPolygon(fTess);
+      } catch(...) {
+         if (except_cnt++ < 100) printf("Catch exception gluTessEndPolygon!\n");
+      }
    }
 }