diff --git a/libraries/octree/src/Octree.cpp b/libraries/octree/src/Octree.cpp
index 96f2383181..0b399377fe 100644
--- a/libraries/octree/src/Octree.cpp
+++ b/libraries/octree/src/Octree.cpp
@@ -867,7 +867,7 @@ bool Octree::readJSONFromStream(
     }
 
     OctreeEntitiesFileParser octreeParser;
-    octreeParser.relativeURL = relativeURL;
+    octreeParser.setRelativeURL(relativeURL);
     octreeParser.setEntitiesString(jsonBuffer);
 
     QVariantMap asMap;
diff --git a/libraries/octree/src/OctreeEntitiesFileParser.cpp b/libraries/octree/src/OctreeEntitiesFileParser.cpp
index 72cfd30ef9..b8b9aef4c9 100644
--- a/libraries/octree/src/OctreeEntitiesFileParser.cpp
+++ b/libraries/octree/src/OctreeEntitiesFileParser.cpp
@@ -240,9 +240,9 @@ bool OctreeEntitiesFileParser::readEntitiesArray(QVariantList& entitiesArray) {
         QJsonObject entityObject = entity.object();
 
         // resolve urls starting with ./ or ../ 
-        if (relativeURL.isEmpty() == false) {
+        if (!_relativeURL.isEmpty()) {
             bool isDirty = false;
-            
+
             const QStringList urlKeys { 
                 // model
                 "modelURL",
@@ -280,9 +280,9 @@ bool OctreeEntitiesFileParser::readEntitiesArray(QVariantList& entitiesArray) {
 
                         if (childObject.contains(childKey) && childObject[childKey].isString()) {
                             const QString url = childObject[childKey].toString();
-    
+
                             if (url.startsWith("./") || url.startsWith("../")) {
-                                childObject[childKey] = relativeURL.resolved(url).toString();
+                                childObject[childKey] = _relativeURL.resolved(url).toString();
                                 entityObject[entityKey] = childObject;
                                 isDirty = true;
                             }
@@ -293,7 +293,7 @@ bool OctreeEntitiesFileParser::readEntitiesArray(QVariantList& entitiesArray) {
                         const QString url = entityObject[key].toString();
 
                         if (url.startsWith("./") || url.startsWith("../")) {
-                            entityObject[key] = relativeURL.resolved(url).toString();
+                            entityObject[key] = _relativeURL.resolved(url).toString();
                             isDirty = true;
                         }
                     }
diff --git a/libraries/octree/src/OctreeEntitiesFileParser.h b/libraries/octree/src/OctreeEntitiesFileParser.h
index 39560710db..0000a76375 100644
--- a/libraries/octree/src/OctreeEntitiesFileParser.h
+++ b/libraries/octree/src/OctreeEntitiesFileParser.h
@@ -15,15 +15,15 @@
 #define hifi_OctreeEntitiesFileParser_h
 
 #include <QByteArray>
-#include <QVariant>
 #include <QUrl>
+#include <QVariant>
 
 class OctreeEntitiesFileParser {
 public:
     void setEntitiesString(const QByteArray& entitiesContents);
+    void setRelativeURL(const QUrl& relativeURL) { _relativeURL = relativeURL; }
     bool parseEntities(QVariantMap& parsedEntities);
     std::string getErrorString() const;
-    QUrl relativeURL;
 
 private:
     int nextToken();
@@ -33,6 +33,7 @@ private:
     int findMatchingBrace() const;
 
     QByteArray _entitiesContents;
+    QUrl _relativeURL;
     int _position { 0 };
     int _line { 1 };
     int _entitiesLength { 0 };