diff --git a/indra/newview/llmaterialeditor.cpp b/indra/newview/llmaterialeditor.cpp
index 41df58914bf09ad3c68381f6adc80e5ea5d4b61c..92042ad49f155ea41ba1414ba40d9c0f19440e9f 100644
--- a/indra/newview/llmaterialeditor.cpp
+++ b/indra/newview/llmaterialeditor.cpp
@@ -1836,6 +1836,10 @@ bool can_use_objects_material(LLSelectedTEGetMatData& func, const std::vector<Pe
         llassert(LLSelectMgr::getInstance()->getSelection()->getFirstObject());
         return false;
     }
+    if (selected_object->isInventoryPending())
+    {
+        return false;
+    }
     for (PermissionBit op : ops)
     {
         if (op == PERM_MODIFY && selected_object->isPermanentEnforced())
diff --git a/indra/newview/llpanelface.cpp b/indra/newview/llpanelface.cpp
index 21651899dbd0d39f87e10c5eb9d803da9b09ac7f..8f09136ccfd73967f210152e99a30f5a11b729bf 100644
--- a/indra/newview/llpanelface.cpp
+++ b/indra/newview/llpanelface.cpp
@@ -1897,11 +1897,10 @@ void LLPanelFace::updateUIGLTF(LLViewerObject* objectp, bool& has_pbr_material,
         pbr_ctrl->setImageAssetID(pbr_id);
     }
 
-    const bool inventory_pending = objectp->isInventoryPending();
     getChildView("pbr_from_inventory")->setEnabled(settable);
-    getChildView("edit_selected_pbr")->setEnabled(editable && !inventory_pending && !has_faces_without_pbr);
-    getChildView("save_selected_pbr")->setEnabled(saveable && !inventory_pending && identical_pbr);
-    if (inventory_pending)
+    getChildView("edit_selected_pbr")->setEnabled(editable && !has_faces_without_pbr);
+    getChildView("save_selected_pbr")->setEnabled(saveable && identical_pbr);
+    if (objectp->isInventoryPending())
     {
         // Reuse the same listener when possible
         if (!mInventoryListener || !mInventoryListener->isListeningFor(objectp))