diff --git a/components/sceneutil/clone.cpp b/components/sceneutil/clone.cpp index 237417974e..0131adc89a 100644 --- a/components/sceneutil/clone.cpp +++ b/components/sceneutil/clone.cpp @@ -51,7 +51,9 @@ namespace SceneUtil if (dynamic_cast(drawable) || dynamic_cast(drawable)) { - osg::Drawable* cloned = osg::clone(drawable, *this); + osg::CopyOp copyop = *this; + copyop.setCopyFlags(copyop.getCopyFlags()|osg::CopyOp::DEEP_COPY_ARRAYS); + osg::Drawable* cloned = osg::clone(drawable, copyop); if (cloned->getUpdateCallback()) cloned->setUpdateCallback(osg::clone(cloned->getUpdateCallback(), *this)); return cloned;