diff --git a/libraries/model-baker/src/model-baker/BuildGraphicsMeshTask.cpp b/libraries/model-baker/src/model-baker/BuildGraphicsMeshTask.cpp
index deacd6a977..8c27968de9 100644
--- a/libraries/model-baker/src/model-baker/BuildGraphicsMeshTask.cpp
+++ b/libraries/model-baker/src/model-baker/BuildGraphicsMeshTask.cpp
@@ -95,7 +95,7 @@ void buildGraphicsMesh(const hfm::Mesh& hfmMesh, graphics::MeshPointer& graphics
         HIFI_FCDEBUG_ID(model_baker(), repeatMessageID, "BuildGraphicsMeshTask -- The number of indices and weights for a deformer had different sizes and have been trimmed to match");
     }
     // Record cluster sizes
-    const size_t numVertClusters = reweightedDeformers.indices.size() / reweightedDeformers.weightsPerVertex;
+    const size_t numVertClusters = (reweightedDeformers.weightsPerVertex ? hfmMesh.clusterIndices.size() / reweightedDeformers.weightsPerVertex : 0);
     const size_t clusterIndicesSize = numVertClusters * clusterIndiceElement.getSize();
     const size_t clusterWeightsSize = numVertClusters * clusterWeightElement.getSize();
 
@@ -404,8 +404,10 @@ void BuildGraphicsMeshTask::run(const baker::BakeContextPointer& context, const
         uint16_t numDeformerControllers = 0;
         if (reweightedDeformers.weightsPerVertex != 0) {
             uint32_t dynamicTransformIndex = dynamicTransformPerMesh[i];
-            const hfm::DynamicTransform& dynamicTransform = dynamicTransforms[dynamicTransformIndex];
-            numDeformerControllers = (uint16_t)dynamicTransform.deformers.size();
+            if (dynamicTransformIndex != hfm::UNDEFINED_KEY) {
+                const hfm::DynamicTransform& dynamicTransform = dynamicTransforms[dynamicTransformIndex];
+                numDeformerControllers = (uint16_t)dynamicTransform.deformers.size();
+            }
         }
 
         // Try to create the graphics::Mesh