diff --git a/indra/newview/lldrawpool.cpp b/indra/newview/lldrawpool.cpp
index 0e050c6f3115a55cca5665e9e0dfc6b8e86773ab..edabb55cc36f9507200b6f378a82ddde272aa9c8 100644
--- a/indra/newview/lldrawpool.cpp
+++ b/indra/newview/lldrawpool.cpp
@@ -393,6 +393,7 @@ void LLRenderPass::renderGroup(LLSpatialGroup* group, U32 type, bool texture)
 		LLDrawInfo *pparams = *k;
 		if (pparams) 
         {
+#if 0 // TODO SL-19656 figure out how to reenable trackAttachments()
             if(pparams->mFace)
             {
                 LLViewerObject* vobj = pparams->mFace->getViewerObject();
@@ -401,6 +402,7 @@ void LLRenderPass::renderGroup(LLSpatialGroup* group, U32 type, bool texture)
                     trackAttachments(vobj, false, &ratPtr);
                 }
             }
+#endif
             pushBatch(*pparams, texture);
 		}
 	}
@@ -419,6 +421,7 @@ void LLRenderPass::renderRiggedGroup(LLSpatialGroup* group, U32 type, bool textu
         LLDrawInfo* pparams = *k;
         if (pparams) 
         {
+#if 0 // TODO SL-19656 figure out how to reenable trackAttachments()
             if(pparams->mFace)
             {
                 LLViewerObject* vobj = pparams->mFace->getViewerObject();
@@ -427,6 +430,7 @@ void LLRenderPass::renderRiggedGroup(LLSpatialGroup* group, U32 type, bool textu
                     trackAttachments( vobj, true ,&ratPtr);
                 }
             }
+#endif
 
             if (lastAvatar != pparams->mAvatar || lastMeshId != pparams->mSkinInfo->mHash)
             {
@@ -451,6 +455,7 @@ void LLRenderPass::pushBatches(U32 type, bool texture, bool batch_textures, bool
         LLDrawInfo* pparams = *i;
         LLCullResult::increment_iterator(i, end);
 
+#if 0 // TODO SL-19656 figure out how to reenable trackAttachments()
             if(pparams->mFace)
             {
                 LLViewerObject* vobj = pparams->mFace->getViewerObject();
@@ -459,6 +464,7 @@ void LLRenderPass::pushBatches(U32 type, bool texture, bool batch_textures, bool
                     trackAttachments( vobj, false, &ratPtr);
                 }
             }
+#endif
             pushBatch(*pparams, texture, batch_textures, reset_gltf);
 	}
 }
@@ -476,6 +482,7 @@ void LLRenderPass::pushRiggedBatches(U32 type, bool texture, bool batch_textures
         LLDrawInfo* pparams = *i;
         LLCullResult::increment_iterator(i, end);
 
+#if 0 // TODO SL-19656 figure out how to reenable trackAttachments()
             if(pparams->mFace)
             {
                 LLViewerObject* vobj = pparams->mFace->getViewerObject();
@@ -484,6 +491,7 @@ void LLRenderPass::pushRiggedBatches(U32 type, bool texture, bool batch_textures
                     trackAttachments( vobj, true, &ratPtr);
                 }
             }
+#endif
 
         if (pparams->mAvatar.notNull() && (lastAvatar != pparams->mAvatar || lastMeshId != pparams->mSkinInfo->mHash))
         {
@@ -507,6 +515,7 @@ void LLRenderPass::pushMaskBatches(U32 type, bool texture, bool batch_textures,
 	{
         LLDrawInfo* pparams = *i;
         LLCullResult::increment_iterator(i, end);
+#if 0 // TODO SL-19656 figure out how to reenable trackAttachments()
             if((*pparams).mFace)
             {
                 LLViewerObject* vobj = (*pparams).mFace->getViewerObject();
@@ -515,6 +524,7 @@ void LLRenderPass::pushMaskBatches(U32 type, bool texture, bool batch_textures,
                     trackAttachments( vobj, false, &ratPtr);
                 }
             }
+#endif
 		LLGLSLShader::sCurBoundShaderPtr->setMinimumAlpha(pparams->mAlphaMaskCutoff);
 		pushBatch(*pparams, texture, batch_textures, reset_gltf);
         reset_gltf = false;
@@ -536,6 +546,7 @@ void LLRenderPass::pushRiggedMaskBatches(U32 type, bool texture, bool batch_text
         LLCullResult::increment_iterator(i, end);
 
         llassert(pparams);
+#if 0 // TODO SL-19656 figure out how to reenable trackAttachments()
         if((*pparams).mFace)
         {
             LLViewerObject* vobj = (*pparams).mFace->getViewerObject();
@@ -544,6 +555,7 @@ void LLRenderPass::pushRiggedMaskBatches(U32 type, bool texture, bool batch_text
                 trackAttachments( vobj, true, &ratPtr);
             }
         }
+#endif
 
         if (LLGLSLShader::sCurBoundShaderPtr)
         {
diff --git a/indra/newview/lldrawpoolalpha.cpp b/indra/newview/lldrawpoolalpha.cpp
index dd6cfab52c14efebe89b9b9206aa7d67358a79b3..da4c963a975a0bfc208f0a87c0dd2cfb8a66a0ea 100644
--- a/indra/newview/lldrawpoolalpha.cpp
+++ b/indra/newview/lldrawpoolalpha.cpp
@@ -354,6 +354,7 @@ void LLDrawPoolAlpha::renderAlphaHighlight(U32 mask)
                 {
                     LLDrawInfo& params = **k;
 
+# if 0 // TODO SL-19656 figure out how to reenable trackAttachments()
                     if(params.mFace)
                     {
                         LLViewerObject* vobj = (LLViewerObject *)params.mFace->getViewerObject();
@@ -362,6 +363,7 @@ void LLDrawPoolAlpha::renderAlphaHighlight(U32 mask)
                             trackAttachments( vobj, params.mFace->isState(LLFace::RIGGED), &ratPtr );
                         }
                     }
+#endif
 
                     bool rigged = (params.mAvatar != nullptr);
                     gHighlightProgram.bind(rigged);
@@ -550,11 +552,13 @@ void LLDrawPoolAlpha::renderRiggedEmissives(std::vector<LLDrawInfo*>& emissives)
     for (LLDrawInfo* draw : emissives)
     {
         LL_PROFILE_ZONE_NAMED_CATEGORY_DRAWPOOL("Emissives");
+# if 0 // TODO SL-19656 figure out how to reenable trackAttachments()
         auto vobj = draw->mFace?draw->mFace->getViewerObject():nullptr;
         if(vobj && vobj->isAttachment())
         {
             trackAttachments( vobj, draw->mFace->isState(LLFace::RIGGED), &ratPtr );
         }
+#endif
 
         bool tex_setup = TexSetup(draw, false);
         if (lastAvatar != draw->mAvatar || lastMeshId != draw->mSkinInfo->mHash)
@@ -696,6 +700,7 @@ void LLDrawPoolAlpha::renderAlpha(U32 mask, bool depth_only, bool rigged)
 
                 LLRenderPass::applyModelMatrix(params);
 
+# if 0 // TODO SL-19656 figure out how to reenable trackAttachments()
                 if(params.mFace)
                 {
                     LLViewerObject* vobj = (LLViewerObject *)params.mFace->getViewerObject();
@@ -705,6 +710,7 @@ void LLDrawPoolAlpha::renderAlpha(U32 mask, bool depth_only, bool rigged)
                         trackAttachments( vobj, params.mFace->isState(LLFace::RIGGED), &ratPtr );
                     }
                 }
+#endif
 
                 LLMaterial* mat = NULL;
                 LLGLTFMaterial *gltf_mat = params.mGLTFMaterial; 
diff --git a/indra/newview/lldrawpoolbump.cpp b/indra/newview/lldrawpoolbump.cpp
index 439b893e0ec8931c562a4be9dfdef5cc49a5a1b6..75b47b2c2288ff784e943d9b5cec46ea3fd524ea 100644
--- a/indra/newview/lldrawpoolbump.cpp
+++ b/indra/newview/lldrawpoolbump.cpp
@@ -411,12 +411,13 @@ void LLDrawPoolBump::renderGroup(LLSpatialGroup* group, U32 type, bool texture =
 	{
 		LLDrawInfo& params = **k;
 		
+#if 0 // TODO SL-19656 figure out how to reenable trackAttachments()
         LLViewerObject* vobj = (LLViewerObject *)params.mFace->getViewerObject();
-
         if( vobj && vobj->isAttachment() )
         {
             trackAttachments( vobj, params.mFace->isState(LLFace::RIGGED), &ratPtr );
         }
+#endif
 
 		applyModelMatrix(params);
 
@@ -574,6 +575,7 @@ void LLDrawPoolBump::renderDeferred(S32 pass)
 
             LLCullResult::increment_iterator(i, end);
 
+#if 0 // TODO SL-19656 figure out how to reenable trackAttachments()
             if(params.mFace)
             {
                 LLViewerObject* vobj = (LLViewerObject *)params.mFace->getViewerObject();
@@ -583,6 +585,7 @@ void LLDrawPoolBump::renderDeferred(S32 pass)
                     trackAttachments( vobj, params.mFace->isState(LLFace::RIGGED), &ratPtr );
                 }
             }
+#endif
 
             LLGLSLShader::sCurBoundShaderPtr->setMinimumAlpha(params.mAlphaMaskCutoff);
             LLDrawPoolBump::bindBumpMap(params, bump_channel);
@@ -1217,6 +1220,7 @@ void LLDrawPoolBump::pushBumpBatches(U32 type)
 	{
 		LLDrawInfo& params = **i;
 
+#if 0 // TODO SL-19656 figure out how to reenable trackAttachments()
         if(params.mFace)
         {
             LLViewerObject* vobj = (LLViewerObject *)params.mFace->getViewerObject();
@@ -1226,6 +1230,7 @@ void LLDrawPoolBump::pushBumpBatches(U32 type)
                 trackAttachments( vobj, params.mFace->isState(LLFace::RIGGED), &ratPtr );
             }
         }
+#endif
 
 		if (LLDrawPoolBump::bindBumpMap(params))
 		{