diff --git a/indra/newview/llinventorygallery.cpp b/indra/newview/llinventorygallery.cpp
index ca1b2eb09e17cf1000ca4a79ea144082d1ee9d2c..99bd772773f69c83e6a3d742c8265e06a0c0842d 100644
--- a/indra/newview/llinventorygallery.cpp
+++ b/indra/newview/llinventorygallery.cpp
@@ -2230,7 +2230,9 @@ LLInventoryGalleryItem::LLInventoryGalleryItem(const Params& p)
     mHidden(false),
     mGallery(NULL),
     mType(LLAssetType::AT_NONE),
-    mSortGroup(SG_ITEM)
+    mSortGroup(SG_ITEM),
+    mCutGeneration(0),
+    mSelectedForCut(false)
 {
     buildFromFile("panel_inventory_gallery_item.xml");
 }
@@ -2328,13 +2330,24 @@ void LLInventoryGalleryItem::setThumbnail(LLUUID id)
 
 void LLInventoryGalleryItem::draw()
 {
-    LLPanel::draw();
+    if (isFadeItem())
+    {
+        // Fade out to indicate it's being cut
+        LLViewDrawContext context(0.5f);
+        LLPanel::draw();
+    }
+    else
+    {
+        LLPanel::draw();
+
+        // Draw border
+        LLUIColor border_color = LLUIColorTable::instance().getColor(mSelected ? "MenuItemHighlightBgColor" : "TextFgTentativeColor", LLColor4::white);
+        LLRect border = getChildView("preview_thumbnail")->getRect();
+        border.mRight = border.mRight + 1;
+        gl_rect_2d(border, border_color.get(), FALSE);
+    }
+
 
-    // Draw border
-    LLUIColor border_color = LLUIColorTable::instance().getColor(mSelected ? "MenuItemHighlightBgColor" : "TextFgTentativeColor", LLColor4::white);
-    LLRect border = getChildView("preview_thumbnail")->getRect();
-    border.mRight = border.mRight + 1;
-    gl_rect_2d(border, border_color.get(), FALSE);
 }
 
 void LLInventoryGalleryItem::setItemName(std::string name)
@@ -2543,6 +2556,19 @@ void LLInventoryGalleryItem::updateNameText()
     getChild<LLThumbnailCtrl>("preview_thumbnail")->setToolTip(mItemName + mPermSuffix + mWornSuffix);
 }
 
+bool LLInventoryGalleryItem::isFadeItem()
+{
+    LLClipboard& clipboard = LLClipboard::instance();
+    if (mCutGeneration == clipboard.getGeneration())
+    {
+        return mSelectedForCut;
+    }
+
+    mCutGeneration = clipboard.getGeneration();
+    mSelectedForCut = clipboard.isCutMode() && clipboard.isOnClipboard(mUUID);
+    return mSelectedForCut;
+}
+
 //-----------------------------
 // LLThumbnailsObserver
 //-----------------------------
diff --git a/indra/newview/llinventorygallery.h b/indra/newview/llinventorygallery.h
index 42bda59c5a234f05e456424412a68afbf67b1a60..f2e5e38940a4479073b121f6187c2535e324c53e 100644
--- a/indra/newview/llinventorygallery.h
+++ b/indra/newview/llinventorygallery.h
@@ -335,6 +335,8 @@ class LLInventoryGalleryItem : public LLPanel
     void updateNameText();
     
 private:
+    bool isFadeItem();
+
     LLUUID mUUID;
     LLTextBox* mNameText;
     LLPanel* mTextBgPanel;
@@ -344,6 +346,8 @@ class LLInventoryGalleryItem : public LLPanel
     bool     mHidden;
     bool     mIsFolder;
     bool     mIsLink;
+    S32      mCutGeneration;
+    bool     mSelectedForCut;
 
     std::string mAssetIDStr;
     std::string mDesc;