diff --git a/indra/newview/llinventoryfunctions.cpp b/indra/newview/llinventoryfunctions.cpp
index 6f6861dc7be3755f838b6662a2c5694f133b19db..ae799e8b18d101d1f79d39e81510027e4904b68b 100755
--- a/indra/newview/llinventoryfunctions.cpp
+++ b/indra/newview/llinventoryfunctions.cpp
@@ -674,6 +674,19 @@ void copy_folder_to_outbox(LLInventoryCategory* inv_cat, const LLUUID& dest_fold
 	open_outbox();
 }
 
+static void items_removal_confirmation(const LLSD& notification, const LLSD& response, LLHandle<LLFolderView> root)
+{
+	S32 option = LLNotificationsUtil::getSelectedOption(notification, response);
+	if (option == 0 && !root.isDead() && !root.get()->isDead())
+	{
+		LLFolderView* folder_root = root.get();
+		//Need to remove item from DND before item is removed from root folder view
+		//because once removed from root folder view the item is no longer a selected item
+		LLInventoryAction::removeItemFromDND(folder_root);
+		folder_root->removeSelectedItems();
+	}
+}
+
 ///----------------------------------------------------------------------------
 /// LLInventoryCollectFunctor implementations
 ///----------------------------------------------------------------------------
@@ -1100,7 +1113,7 @@ void LLInventoryAction::doToSelected(LLInventoryModel* model, LLFolderView* root
 	{
 		LLSD args;
 		args["QUESTION"] = LLTrans::getString(root->getSelectedCount() > 1 ? "DeleteItems" :  "DeleteItem");
-		LLNotificationsUtil::add("DeleteItems", args, LLSD(), boost::bind(&LLInventoryAction::onItemsRemovalConfirmation, _1, _2, root));
+		LLNotificationsUtil::add("DeleteItems", args, LLSD(), boost::bind(&items_removal_confirmation, _1, _2, root->getHandle()));
 		return;
 	}
 	if (("copy" == action) || ("cut" == action))
@@ -1205,15 +1218,3 @@ void LLInventoryAction::removeItemFromDND(LLFolderView* root)
         }
     }
 }
-
-void LLInventoryAction::onItemsRemovalConfirmation( const LLSD& notification, const LLSD& response, LLFolderView* root )
-{
-	S32 option = LLNotificationsUtil::getSelectedOption(notification, response);
-	if (option == 0)
-	{
-        //Need to remove item from DND before item is removed from root folder view
-        //because once removed from root folder view the item is no longer a selected item
-        removeItemFromDND(root);
-		root->removeSelectedItems();
-	}
-}
diff --git a/indra/newview/llinventoryfunctions.h b/indra/newview/llinventoryfunctions.h
index 6b3861aa79f21984bc2a8f42bdd3f27ec1b5b3df..92780eb10f121fd935707f9e0e9d313b3f3ea74d 100755
--- a/indra/newview/llinventoryfunctions.h
+++ b/indra/newview/llinventoryfunctions.h
@@ -438,8 +438,6 @@ public:
 struct LLInventoryAction
 {
 	static void doToSelected(class LLInventoryModel* model, class LLFolderView* root, const std::string& action);
-
-	static void onItemsRemovalConfirmation(const LLSD& notification, const LLSD& response, LLFolderView* root);
     static void removeItemFromDND(LLFolderView* root);
 };