diff --git a/indra/newview/llselectmgr.cpp b/indra/newview/llselectmgr.cpp
index 434d7a4492d1bdb8193bc55d544a2c24e439fd21..950ed61b2536d7c242b6ea5934f39eaa88ca25c3 100644
--- a/indra/newview/llselectmgr.cpp
+++ b/indra/newview/llselectmgr.cpp
@@ -1300,9 +1300,7 @@ void LLSelectMgr::selectionSetImage(const LLUUID& imageid)
 	LLViewerObject* objectp;
 	S32 te;
 
-	mSelectedObjects->getFirstTE(&objectp, &te);
-	
-	for (objectp = mSelectedObjects->getFirstObject(); objectp; objectp = mSelectedObjects->getNextObject())
+	for (mSelectedObjects->getFirstTE(&objectp, &te); objectp; mSelectedObjects->getNextTE(&objectp, &te))
 	{
 		if (item)
 		{
@@ -2867,7 +2865,7 @@ void LLSelectMgr::selectDelete()
 	}
 	else
 	{
-		confirmDelete(0, (void*)this);
+		confirmDelete(0, (void*)selection_handlep);
 	}
 }
 
diff --git a/indra/newview/lltoolcomp.cpp b/indra/newview/lltoolcomp.cpp
index 1947459c6adeebbc5e57c329b60b0fada2806ba2..5d803b4c52aef2912a4de55964d4ca933d46e9cf 100644
--- a/indra/newview/lltoolcomp.cpp
+++ b/indra/newview/lltoolcomp.cpp
@@ -485,6 +485,11 @@ BOOL LLToolCompCreate::handleMouseUp(S32 x, S32 y, MASK mask)
 	mObjectPlacedOnMouseDown = FALSE;
 	mMouseDown = FALSE;
 
+	if (!handled)
+	{
+		handled = LLToolComposite::handleMouseUp(x, y, mask);
+	}
+
 	return handled;
 }