diff --git a/src/components/gltf-model-plus.js b/src/components/gltf-model-plus.js
index 3167eefc0eaa8cdd22b226f8f51a008036aada4b..71937c74690b4a8fb850d34cc0de19b1cf7def98 100644
--- a/src/components/gltf-model-plus.js
+++ b/src/components/gltf-model-plus.js
@@ -374,7 +374,8 @@ AFRAME.registerComponent("gltf-model-plus", {
         GLTFCache[src] = loadGLTF(src, this.data.basePath, this.data.contentType, this.preferredTechnique);
       }
 
-      const model = await GLTFCache[src].then(cloneGltf);
+      const cachedModel = await GLTFCache[src];
+      const model = cloneGltf(cachedModel);
 
       // If we started loading something else already
       // TODO: there should be a way to cancel loading instead