diff --git a/src/osg/KdTree.cpp b/src/osg/KdTree.cpp index 70b78ac0f..92b4d316e 100644 --- a/src/osg/KdTree.cpp +++ b/src/osg/KdTree.cpp @@ -812,7 +812,8 @@ void KdTreeBuilder::apply(osg::Geode& geode) osg::KdTree* previous = dynamic_cast(geom->getShape()); if (previous) continue; - osg::ref_ptr kdTree = dynamic_cast(_kdTreePrototype->cloneType()); + osg::ref_ptr obj = _kdTreePrototype->cloneType(); + osg::ref_ptr kdTree = dynamic_cast(obj.get()); if (kdTree->build(_buildOptions, geom)) {