diff --git a/indra/newview/llmaterialeditor.cpp b/indra/newview/llmaterialeditor.cpp
index 27b5d508e02ff1cfe4381e35213c58fa91f9c1e2..dfb43dfe0db132e51fec9a0604c7ed88b3ed6731 100644
--- a/indra/newview/llmaterialeditor.cpp
+++ b/indra/newview/llmaterialeditor.cpp
@@ -941,7 +941,27 @@ bool LLMaterialEditor::saveIfNeeded()
 
         create_inventory_item(gAgent.getID(), gAgent.getSessionID(), parent, tid, mMaterialName, res_desc,
             LLAssetType::AT_MATERIAL, LLInventoryType::IT_MATERIAL, subtype, next_owner_perm,
-            new LLBoostFuncInventoryCallback([output = buffer](LLUUID const& inv_item_id) {
+            new LLBoostFuncInventoryCallback([output = buffer](LLUUID const& inv_item_id)
+            {
+                LLViewerInventoryItem* item = gInventory.getItem(inv_item_id);
+                if (item)
+                {
+                    // create_inventory_item doesn't allow presetting some permissions, fix it now
+                    LLPermissions perm = item->getPermissions();
+                    if (perm.getMaskEveryone() != LLFloaterPerms::getEveryonePerms("Uploads")
+                        || perm.getMaskGroup() != LLFloaterPerms::getGroupPerms("Uploads"))
+                    {
+                        perm.setMaskEveryone(LLFloaterPerms::getEveryonePerms("Uploads"));
+                        perm.setMaskGroup(LLFloaterPerms::getGroupPerms("Uploads"));
+
+                        item->setPermissions(perm);
+
+                        item->updateServer(FALSE);
+                        gInventory.updateItem(item);
+                        gInventory.notifyObservers();
+                    }
+                }
+
                 // from reference in LLSettingsVOBase::createInventoryItem()/updateInventoryItem()
                 LLResourceUploadInfo::ptr_t uploadInfo =
                     std::make_shared<LLBufferedAssetUploadInfo>(
@@ -966,7 +986,7 @@ bool LLMaterialEditor::saveIfNeeded()
                     }
                     LLViewerAssetUpload::EnqueueInventoryUpload(agent_url, uploadInfo);
                 }
-                })
+            })
         );
 
         // We do not update floater with uploaded asset yet, so just close it.