diff --git a/src/ifcgeom/IfcGeomIterator.h b/src/ifcgeom/IfcGeomIterator.h index 3908b16eed..1cb5b6b7d0 100644 --- a/src/ifcgeom/IfcGeomIterator.h +++ b/src/ifcgeom/IfcGeomIterator.h @@ -153,12 +153,14 @@ namespace IfcGeom { // by the parent's context inverse attributes. continue; } - std::string context_type_lc = context->ContextType(); - for (std::string::iterator c = context_type_lc.begin(); c != context_type_lc.end(); ++c) { - *c = tolower(*c); - } - if (context->hasContextType() && context_types.find(context_type_lc) != context_types.end()) { - filtered_contexts->push(context); + if (context->hasContextType()) { + std::string context_type_lc = context->ContextType(); + for (std::string::iterator c = context_type_lc.begin(); c != context_type_lc.end(); ++c) { + *c = tolower(*c); + } + if (context_types.find(context_type_lc) != context_types.end()) { + filtered_contexts->push(context); + } } }