diff --git a/src/ifcgeom/mapping/mapping.cpp b/src/ifcgeom/mapping/mapping.cpp index 666ff43dc2..04f8db4589 100644 --- a/src/ifcgeom/mapping/mapping.cpp +++ b/src/ifcgeom/mapping/mapping.cpp @@ -874,7 +874,7 @@ void mapping::initialize_units_() { if (settings_.get().has()) { auto vs = settings_.get().get(); if (vs.size() == 4) { - auto m3 = Eigen::Quaterniond(vs[0], vs[1], vs[2], vs[3]).matrix(); + auto m3 = Eigen::Quaterniond(vs[0], vs[1], vs[2], vs[3]).normalized().matrix(); Eigen::Matrix4d m4 = Eigen::Matrix4d::Identity(); m4 << m3; offset_and_rotation_ *= m4;