diff --git a/indra/newview/llmaterialeditor.cpp b/indra/newview/llmaterialeditor.cpp
index a72d38223f779fdfc6753ce530ffe9fd111cff1a..a2cd68259bec81605fa694480d12c5943c4176aa 100644
--- a/indra/newview/llmaterialeditor.cpp
+++ b/indra/newview/llmaterialeditor.cpp
@@ -1903,6 +1903,7 @@ void LLMaterialEditor::onLoadComplete(const LLUUID& asset_uuid,
             editor->setEnableEditing(allow_modify && !source_library);
             editor->setHasUnsavedChanges(false);
             editor->mAssetStatus = PREVIEW_ASSET_LOADED;
+            editor->setEnabled(true); // ready for use
         }
         else
         {
diff --git a/indra/newview/llviewerobject.cpp b/indra/newview/llviewerobject.cpp
index b4fad16dba13b1b969bfff9fd1e015817631b82f..a256b770b1021a9e0e1321401fbbe3e49b6d7762 100644
--- a/indra/newview/llviewerobject.cpp
+++ b/indra/newview/llviewerobject.cpp
@@ -4930,13 +4930,21 @@ void LLViewerObject::updateTEMaterialTextures(U8 te)
 		mTESpecularMaps[te] = LLViewerTextureManager::getFetchedTexture(spec_id, FTT_DEFAULT, TRUE, LLGLTexture::BOOST_ALM, LLViewerTexture::LOD_TEXTURE);
 	}
 
-    auto fetch_texture = [](const LLUUID& id)
+    auto fetch_texture = [](const LLUUID& id, LLViewerObject *obj)
     {
         LLViewerFetchedTexture* img = nullptr;
         if (id.notNull())
         {
-            img = LLViewerTextureManager::getFetchedTexture(id, FTT_DEFAULT, TRUE, LLGLTexture::BOOST_ALM, LLViewerTexture::LOD_TEXTURE);
-            img->addTextureStats(64.f * 64.f, TRUE);
+            if (LLAvatarAppearanceDefines::LLAvatarAppearanceDictionary::isBakedImageId(id))
+            {
+                LLViewerTexture* viewerTexture = obj->getBakedTextureForMagicId(id);
+                img = viewerTexture ? dynamic_cast<LLViewerFetchedTexture*>(viewerTexture) : nullptr;
+            }
+            else
+            {
+                img = LLViewerTextureManager::getFetchedTexture(id, FTT_DEFAULT, TRUE, LLGLTexture::BOOST_ALM, LLViewerTexture::LOD_TEXTURE);
+                img->addTextureStats(64.f * 64.f, TRUE);
+            }
         }
 
         return img;
@@ -4957,10 +4965,10 @@ void LLViewerObject::updateTEMaterialTextures(U8 te)
 
     if (mat != nullptr)
     {
-        mGLTFBaseColorMaps[te] = fetch_texture(mat->mBaseColorId);
-        mGLTFNormalMaps[te] = fetch_texture(mat->mNormalId);
-        mGLTFMetallicRoughnessMaps[te] = fetch_texture(mat->mMetallicRoughnessId);
-        mGLTFEmissiveMaps[te] = fetch_texture(mat->mEmissiveId);
+        mGLTFBaseColorMaps[te] = fetch_texture(mat->mBaseColorId, this);
+        mGLTFNormalMaps[te] = fetch_texture(mat->mNormalId, this);
+        mGLTFMetallicRoughnessMaps[te] = fetch_texture(mat->mMetallicRoughnessId, this);
+        mGLTFEmissiveMaps[te] = fetch_texture(mat->mEmissiveId, this);
     }
     else
     {