diff --git a/pxr/usd/usdMtlx/reader.cpp b/pxr/usd/usdMtlx/reader.cpp index 473a359ced..6df29518af 100644 --- a/pxr/usd/usdMtlx/reader.cpp +++ b/pxr/usd/usdMtlx/reader.cpp @@ -434,8 +434,12 @@ _TypeSupportsColorSpace(const mx::ConstValueElementPtr& mxElem) bool colorImageNode = false; if (type == "filename") { // verify the output is color3 or color4 - mx::ConstNodeDefPtr parentNodeDef = - _GetNodeDef(mxElem->getParent()->asA()); + mx::ConstNodeDefPtr parentNodeDef; + if (mxElem->getParent()->isA()) { + parentNodeDef = _GetNodeDef(mxElem->getParent()->asA()); + } else if (mxElem->getParent()->isA()) { + parentNodeDef = mxElem->getParent()->asA(); + } if (parentNodeDef) { for (const mx::OutputPtr& output : parentNodeDef->getOutputs()) { const std::string &type = output->getType();