diff --git a/simgear/scene/model/SGReaderWriterXMLOptions.hxx b/simgear/scene/model/SGReaderWriterXMLOptions.hxx
index 311a226..584c84f 100644
--- a/simgear/scene/model/SGReaderWriterXMLOptions.hxx
+++ b/simgear/scene/model/SGReaderWriterXMLOptions.hxx
@@ -63,7 +63,7 @@ SGReaderWriterXML.cxx:60: error: ‘const class SGReaderWriterXMLOptions’ has
     std::string getFGRoot() const { return _fg_root; }
     SGPropertyNode *getPropRoot() const { return _prop_root; }
     panel_func getLoadPanel() const { return _load_panel; }
-    SGModelData *getModelData() const { return _model_data; }
+    SGModelData *getModelData() const { return _model_data.get(); }
     const SGPath &getExternalTexturePath() const { return _external_texture_path; }
 
     void setFGRoot(const std::string& p) { _fg_root=p; }
@@ -78,7 +78,7 @@ protected:
     std::string _fg_root;
     SGPropertyNode *_prop_root;
     osg::Node *(*_load_panel)(SGPropertyNode *);
-    SGModelData *_model_data;
+    osg::ref_ptr<SGModelData> _model_data;
     SGPath _external_texture_path;
 };
 #endif

