diff --git a/indra/newview/llfloatereditextdaycycle.cpp b/indra/newview/llfloatereditextdaycycle.cpp
index cb2f5dbb1d3835913464aa48308323f90c3d02a0..c92eed42cdcc74789437edd8e70de8eac071cba8 100644
--- a/indra/newview/llfloatereditextdaycycle.cpp
+++ b/indra/newview/llfloatereditextdaycycle.cpp
@@ -1428,7 +1428,7 @@ LLFloaterEditExtDayCycle::connection_t LLFloaterEditExtDayCycle::setEditCommitSi
     return mCommitSignal.connect(cb);
 }
 
-void LLFloaterEditExtDayCycle::loadInventoryItem(const LLUUID  &inventoryId)
+void LLFloaterEditExtDayCycle::loadInventoryItem(const LLUUID  &inventoryId, bool can_trans)
 {
     if (inventoryId.isNull())
     {
@@ -1471,7 +1471,7 @@ void LLFloaterEditExtDayCycle::loadInventoryItem(const LLUUID  &inventoryId)
     mCanSave = true;
     mCanCopy = mInventoryItem->getPermissions().allowCopyBy(gAgent.getID());
     mCanMod = mInventoryItem->getPermissions().allowModifyBy(gAgent.getID());
-    mCanTrans = mInventoryItem->getPermissions().allowOperationBy(PERM_TRANSFER, gAgent.getID());
+    mCanTrans = can_trans && mInventoryItem->getPermissions().allowOperationBy(PERM_TRANSFER, gAgent.getID());
 
     mExpectingAssetId = mInventoryItem->getAssetUUID();
     LLSettingsVOBase::getSettingsAsset(mInventoryItem->getAssetUUID(),
@@ -1799,7 +1799,7 @@ void LLFloaterEditExtDayCycle::onInventoryCreated(LLUUID asset_id, LLUUID invent
 
 void LLFloaterEditExtDayCycle::onInventoryCreated(LLUUID asset_id, LLUUID inventory_id)
 {
-
+    bool can_trans = true;
     if (mInventoryItem)
     {
         LLPermissions perms = mInventoryItem->getPermissions();
@@ -1808,6 +1808,7 @@ void LLFloaterEditExtDayCycle::onInventoryCreated(LLUUID asset_id, LLUUID invent
         
         if (created_item)
         {
+            can_trans = perms.allowOperationBy(PERM_TRANSFER, gAgent.getID());
             created_item->setPermissions(perms);
             created_item->updateServer(false);
         }
@@ -1815,7 +1816,7 @@ void LLFloaterEditExtDayCycle::onInventoryCreated(LLUUID asset_id, LLUUID invent
 
     clearDirtyFlag();
     setFocus(TRUE);                 // Call back the focus...
-    loadInventoryItem(inventory_id);
+    loadInventoryItem(inventory_id, can_trans);
 }
 
 void LLFloaterEditExtDayCycle::onInventoryUpdated(LLUUID asset_id, LLUUID inventory_id, LLSD results)
diff --git a/indra/newview/llfloatereditextdaycycle.h b/indra/newview/llfloatereditextdaycycle.h
index 83ce69cff3777f568bca8600d0dea6fa296f0406..b6e9fdb14f8a635757c954ed20b7da7d34fa2acd 100644
--- a/indra/newview/llfloatereditextdaycycle.h
+++ b/indra/newview/llfloatereditextdaycycle.h
@@ -148,7 +148,7 @@ class LLFloaterEditExtDayCycle : public LLFloater
     void                        removeCurrentSliderFrame();
     void                        removeSliderFrame(F32 frame);
 
-    void                        loadInventoryItem(const LLUUID  &inventoryId);
+    void                        loadInventoryItem(const LLUUID  &inventoryId, bool can_trans = true);
     void                        onAssetLoaded(LLUUID asset_id, LLSettingsBase::ptr_t settings, S32 status);
 
     void                        doImportFromDisk();
diff --git a/indra/newview/llfloaterfixedenvironment.cpp b/indra/newview/llfloaterfixedenvironment.cpp
index f564dce629df86aa797e6b6287932a27333845f8..38b1f5066d49378c1ae8730d77a1990fc9c2545a 100644
--- a/indra/newview/llfloaterfixedenvironment.cpp
+++ b/indra/newview/llfloaterfixedenvironment.cpp
@@ -250,7 +250,7 @@ LLFloaterSettingsPicker * LLFloaterFixedEnvironment::getSettingsPicker()
     return picker;
 }
 
-void LLFloaterFixedEnvironment::loadInventoryItem(const LLUUID  &inventoryId)
+void LLFloaterFixedEnvironment::loadInventoryItem(const LLUUID  &inventoryId, bool can_trans)
 {
     if (inventoryId.isNull())
     {
@@ -290,7 +290,7 @@ void LLFloaterFixedEnvironment::loadInventoryItem(const LLUUID  &inventoryId)
 
     mCanCopy = mInventoryItem->getPermissions().allowCopyBy(gAgent.getID());
     mCanMod = mInventoryItem->getPermissions().allowModifyBy(gAgent.getID());
-    mCanTrans = mInventoryItem->getPermissions().allowOperationBy(PERM_TRANSFER, gAgent.getID());
+    mCanTrans = can_trans && mInventoryItem->getPermissions().allowOperationBy(PERM_TRANSFER, gAgent.getID());
 
     LLSettingsVOBase::getSettingsAsset(mInventoryItem->getAssetUUID(),
         [this](LLUUID asset_id, LLSettingsBase::ptr_t settings, S32 status, LLExtStat) { onAssetLoaded(asset_id, settings, status); });
@@ -653,6 +653,7 @@ void LLFloaterFixedEnvironment::onInventoryCreated(LLUUID asset_id, LLUUID inven
 
 void LLFloaterFixedEnvironment::onInventoryCreated(LLUUID asset_id, LLUUID inventory_id)
 {
+    bool can_trans = true;
     if (mInventoryItem)
     {
         LLPermissions perms = mInventoryItem->getPermissions();
@@ -661,13 +662,14 @@ void LLFloaterFixedEnvironment::onInventoryCreated(LLUUID asset_id, LLUUID inven
 
         if (created_item)
         {
+            can_trans = perms.allowOperationBy(PERM_TRANSFER, gAgent.getID());
             created_item->setPermissions(perms);
             created_item->updateServer(false);
         }
     }
     clearDirtyFlag();
     setFocus(TRUE);                 // Call back the focus...
-    loadInventoryItem(inventory_id);
+    loadInventoryItem(inventory_id, can_trans);
 }
 
 void LLFloaterFixedEnvironment::onInventoryUpdated(LLUUID asset_id, LLUUID inventory_id, LLSD results)
diff --git a/indra/newview/llfloaterfixedenvironment.h b/indra/newview/llfloaterfixedenvironment.h
index 84feaa1a20b7b68d48478a9c0b20a74849891ab8..513996c4a393e6f9f6c4c65b8b4fbb4cc7495991 100644
--- a/indra/newview/llfloaterfixedenvironment.h
+++ b/indra/newview/llfloaterfixedenvironment.h
@@ -76,7 +76,7 @@ class LLFloaterFixedEnvironment : public LLFloater
 
     LLFloaterSettingsPicker *getSettingsPicker();
 
-    void                    loadInventoryItem(const LLUUID  &inventoryId);
+    void                    loadInventoryItem(const LLUUID  &inventoryId, bool can_trans = true);
 
     void                    checkAndConfirmSettingsLoss(on_confirm_fn cb);