Index: /OpenSceneGraph/trunk/include/osg/ProxyNode
===================================================================
--- /OpenSceneGraph/trunk/include/osg/ProxyNode (revision 8325)
+++ /OpenSceneGraph/trunk/include/osg/ProxyNode (revision 10341)
@@ -41,4 +41,15 @@
         
         virtual bool removeChildren(unsigned int pos,unsigned int numChildrenToRemove);
+
+
+        /** Set the optional database osgDB::Options object to use when loaded children.*/
+        void setDatabaseOptions(osg::Referenced* options) { _databaseOptions = options; }
+
+        /** Get the optional database osgDB::Options object used when loaded children.*/
+        osg::Referenced* getDatabaseOptions() { return _databaseOptions.get(); }
+
+        /** Get the optional database osgDB::Options object used when loaded children.*/
+        const osg::Referenced* getDatabaseOptions() const { return _databaseOptions.get(); }
+
 
         /** Set the database path to prepend to children's filenames.*/
@@ -115,4 +126,5 @@
 
         FileNameDatabaseRequestList     _filenameList;
+        ref_ptr<Referenced>             _databaseOptions;
         std::string                     _databasePath;
         
Index: /OpenSceneGraph/trunk/src/osg/ProxyNode.cpp
===================================================================
--- /OpenSceneGraph/trunk/src/osg/ProxyNode.cpp (revision 8325)
+++ /OpenSceneGraph/trunk/src/osg/ProxyNode.cpp (revision 10341)
@@ -28,4 +28,6 @@
     Group(proxynode,copyop),
     _filenameList(proxynode._filenameList),
+    _databaseOptions(proxynode._databaseOptions),
+    _databasePath(proxynode._databasePath),
     _loadingExtReference(proxynode._loadingExtReference),
     _centerMode(proxynode._centerMode),
@@ -58,10 +60,9 @@
 {
     if (nv.getDatabaseRequestHandler() && _filenameList.size()>_children.size() &&
-        nv.getVisitorType()==NodeVisitor::CULL_VISITOR &&
         _loadingExtReference!=NO_AUTOMATIC_LOADING)
     {
         for(unsigned int i=_children.size(); i<_filenameList.size(); ++i)
         {
-            nv.getDatabaseRequestHandler()->requestNodeFile(_databasePath+_filenameList[i].first, this, 1.0f, nv.getFrameStamp(), _filenameList[i].second);
+            nv.getDatabaseRequestHandler()->requestNodeFile(_databasePath+_filenameList[i].first, this, 1.0f, nv.getFrameStamp(), _filenameList[i].second, _databaseOptions.get());
         }
     }
