diff --git a/GeoModelTools/GeoModelXML/GeoModelXml/src/AssemblyProcessor.cxx b/GeoModelTools/GeoModelXML/GeoModelXml/src/AssemblyProcessor.cxx
index 8c1b225d09f691265bd1e1f9e0535cc1f5da5c7c..e893f7b0665c645c878b2c86fc944a3a82a42f93 100644
--- a/GeoModelTools/GeoModelXML/GeoModelXml/src/AssemblyProcessor.cxx
+++ b/GeoModelTools/GeoModelXML/GeoModelXml/src/AssemblyProcessor.cxx
@@ -50,7 +50,7 @@ void AssemblyProcessor::process(const DOMElement *element, GmxUtil &gmxUtil, Geo
         //
         //    Name
         AssemblyStore& store {m_map[name]};
-        physVolName = make_intrusive<GeoNameTag>(name); 
+        physVolName = nameTag(name); 
         store.name = physVolName;
     } else { // Already in the registry; use it.
         physVolName = entry->second.name;
@@ -58,7 +58,7 @@ void AssemblyProcessor::process(const DOMElement *element, GmxUtil &gmxUtil, Geo
     lv = gmxUtil.getAssemblyLV();
     toAdd.push_back(physVolName);
     gmxUtil.positionIndex.setCopyNo(m_map[name].id);
-    toAdd.push_back(make_intrusive<GeoIdentifierTag>(m_map[name].id++)); 
+    toAdd.push_back(geoId(m_map[name].id++)); 
 //
 //    Process the assembly's children
 //
diff --git a/GeoModelTools/GeoModelXML/GeoModelXml/src/LogvolProcessor.cxx b/GeoModelTools/GeoModelXML/GeoModelXml/src/LogvolProcessor.cxx
index 8638d8794b97c7fac71807f571d0f1882025c21e..11251f58fe6e20f468a76bdfef14c1bf30c0ba6d 100644
--- a/GeoModelTools/GeoModelXML/GeoModelXml/src/LogvolProcessor.cxx
+++ b/GeoModelTools/GeoModelXML/GeoModelXml/src/LogvolProcessor.cxx
@@ -115,7 +115,7 @@ void LogvolProcessor::process(const DOMElement *element, GmxUtil &gmxUtil, GeoNo
     //   
     LogVolStore* store{&m_map[name]};
     if(isNamed) {
-        nameTag_physVolName = make_intrusive<GeoNameTag>(name);
+        nameTag_physVolName = nameTag(name);
         store->name = nameTag_physVolName;
     }   
     //
@@ -228,15 +228,15 @@ void LogvolProcessor::process(const DOMElement *element, GmxUtil &gmxUtil, GeoNo
             newName.append("_");
             newName.append(std::to_string(index_i.second));
     }
-    nameTag_physChildVolName = make_intrusive<GeoNameTag>(newName);//Make sensitive always have a name, to extra Id information from
+    nameTag_physChildVolName = nameTag(newName);//Make sensitive always have a name, to extra Id information from
     toAdd.push_back(nameTag_physChildVolName);
     if(hasIdentifier) { //TODO: check if all "sensitive" volumes must have an identifier. If that's the case, then we can remove this "if" here
-        toAdd.push_back(make_intrusive<GeoIdentifierTag>(sensId));
+        toAdd.push_back(geoId(sensId));
     }
   }
   else {
       if(hasIdentifier) {
-          toAdd.push_back(make_intrusive<GeoIdentifierTag>(m_map[name].id)); // Normal copy number
+          toAdd.push_back(geoId(m_map[name].id)); // Normal copy number
           gmxUtil.positionIndex.setCopyNo(m_map[name].id++);
       }
   }