diff --git a/modules/gfx/src/impl/cartoon_renderer.cc b/modules/gfx/src/impl/cartoon_renderer.cc
index d9b4577ddbb2e24b8367bc8d15d291ead0b29dcd..1403c3891ef7c7501fb109789ae9e450c879892e 100644
--- a/modules/gfx/src/impl/cartoon_renderer.cc
+++ b/modules/gfx/src/impl/cartoon_renderer.cc
@@ -302,8 +302,11 @@ void CartoonRenderer::rebuild_spline_obj(IndexedVertexArray& va,
                                       options_->GetStrandThickness()+factor,
                                       options_->GetStrandProfileType(),
                                       options_->GetStrandEcc())); // profile 2 = strand
-    profiles.push_back(profiles.back()); // profile 3==2, strand
-    
+ TraceProfile prof=profiles.back();
+// do not ever change this back to profiles.push_back(profiles.back()); it segfaults on windows
+// or you will meet two new friends of yours :)
+// looks like a compiler bug
+    profiles.push_back(prof); // profile 3==2, strand
     profiles.push_back(get_circ_profile(detail,
                                       1.7*options_->GetStrandWidth()+factor,
                                       1.1*options_->GetStrandThickness()+factor,