diff --git a/gz3d/build/gz3d.js b/gz3d/build/gz3d.js
index 11cbc1d706e2d9cd47a093d0906ed8c03e193390..9b72ffba42600f1e71771c5bb9db8bfa367827f4 100644
--- a/gz3d/build/gz3d.js
+++ b/gz3d/build/gz3d.js
@@ -8929,7 +8929,7 @@ GZ3D.SdfParser.prototype.createGeom = function(geom, mat, parent)
           allChildren[c].receiveShadow = visualObj.receiveShadows;
         }
 
-        if (visualObj.name.indexOf('COLLISION_VISUAL') >= 0)
+        if (visualObj.name !== undefined && visualObj.name.indexOf('COLLISION_VISUAL') >= 0)
         {
           allChildren[c].castShadow = false;
           allChildren[c].receiveShadow = false;
@@ -8956,7 +8956,7 @@ GZ3D.SdfParser.prototype.createVisual = function(visual)
   if (visual.geometry)
   {
     var visualObj = new THREE.Object3D();
-    visualObj.name = visual['@name'];
+    visualObj.name = visual['@name'] || visual['name'];
 
     if (visual.pose)
     {
diff --git a/gz3d/src/gzsdfparser.js b/gz3d/src/gzsdfparser.js
index ce33d8f0326659c89515a152b935e1571f40d54f..083215fdc5538fae71327ae192fc53b280553657 100644
--- a/gz3d/src/gzsdfparser.js
+++ b/gz3d/src/gzsdfparser.js
@@ -534,7 +534,7 @@ GZ3D.SdfParser.prototype.createGeom = function(geom, mat, parent)
           allChildren[c].receiveShadow = visualObj.receiveShadows;
         }
 
-        if (visualObj.name.indexOf('COLLISION_VISUAL') >= 0)
+        if (visualObj.name !== undefined && visualObj.name.indexOf('COLLISION_VISUAL') >= 0)
         {
           allChildren[c].castShadow = false;
           allChildren[c].receiveShadow = false;
@@ -561,7 +561,7 @@ GZ3D.SdfParser.prototype.createVisual = function(visual)
   if (visual.geometry)
   {
     var visualObj = new THREE.Object3D();
-    visualObj.name = visual['@name'];
+    visualObj.name = visual['@name'] || visual['name'];
 
     if (visual.pose)
     {