diff --git a/src/osgUtil/SmoothingVisitor.cpp b/src/osgUtil/SmoothingVisitor.cpp index 742658917..eb6c506d5 100644 --- a/src/osgUtil/SmoothingVisitor.cpp +++ b/src/osgUtil/SmoothingVisitor.cpp @@ -620,7 +620,7 @@ static void smooth_new(osg::Geometry& geom, double creaseAngle) if (!vertices) return; osg::Vec3Array* normals = dynamic_cast(geom.getNormalArray()); - if (!normals) + if (!normals || (normals && normals->size() != vertices->size())) { normals = new osg::Vec3Array(vertices->size()); geom.setNormalArray(normals);