diff --git a/src/osg/Object.cpp b/src/osg/Object.cpp index 2ff5db9dd..e0f0c6850 100644 --- a/src/osg/Object.cpp +++ b/src/osg/Object.cpp @@ -24,13 +24,16 @@ Object::Object(const Object& obj,const CopyOp& copyop): _name(obj._name), _dataVariance(obj._dataVariance) { - if (copyop.getCopyFlags()&osg::CopyOp::DEEP_COPY_USERDATA) + if (obj._userDataContainer.valid()) { - _userDataContainer = new UserDataContainer(*obj._userDataContainer, copyop); - } - else - { - _userDataContainer = obj._userDataContainer; + if (copyop.getCopyFlags()&osg::CopyOp::DEEP_COPY_USERDATA) + { + _userDataContainer = new UserDataContainer(*obj._userDataContainer, copyop); + } + else + { + _userDataContainer = obj._userDataContainer; + } } }