diff --git a/doc/contributions.txt b/doc/contributions.txt
index 3a0fce5f7bc3e0b3309aaa100fc63eb3f342d2fe..669a0cd671904693861788397ad5ce79efe199b2 100755
--- a/doc/contributions.txt
+++ b/doc/contributions.txt
@@ -1269,8 +1269,6 @@ Robin Cornelius
 	VWR-12763
 	VWR-12995
 	VWR-20911
-Rohacan Hirons
-	SL-14717
 Rosco Teardrop
 Rose Evans
 Rudee Voom
diff --git a/indra/newview/llagentcamera.cpp b/indra/newview/llagentcamera.cpp
index e10244aad63cb5b78ccc2525bfbb8b2a4eb58e59..ed6c3c307fcc2712f09be591415350ecdca21283 100644
--- a/indra/newview/llagentcamera.cpp
+++ b/indra/newview/llagentcamera.cpp
@@ -2501,16 +2501,8 @@ void LLAgentCamera::setFocusGlobal(const LLPickInfo& pick)
 	{
 		// focus on object plus designated offset
 		// which may or may not be same as pick.mPosGlobal
-		// except for rigged items to prevent wrong focus position
-		if (objectp->isRiggedMesh())
-		{
-			setFocusGlobal(pick.mPosGlobal, pick.mObjectID);
-		}
-		else
-		{
 		setFocusGlobal(objectp->getPositionGlobal() + LLVector3d(pick.mObjectOffset), pick.mObjectID);
 	}
-	}
 	else
 	{
 		// focus directly on point where user clicked
diff --git a/indra/newview/lltoolface.cpp b/indra/newview/lltoolface.cpp
index 71986d21f95b08287d90aa257ae74d5c4ba65e65..a00ac10698a9798958d9d435e483c01463eef503 100644
--- a/indra/newview/lltoolface.cpp
+++ b/indra/newview/lltoolface.cpp
@@ -73,7 +73,7 @@ BOOL LLToolFace::handleDoubleClick(S32 x, S32 y, MASK mask)
 
 BOOL LLToolFace::handleMouseDown(S32 x, S32 y, MASK mask)
 {
-	gViewerWindow->pickAsync(x, y, mask, pickCallback, false, gSavedSettings.getBOOL("AnimatedObjectsAllowLeftClick"));
+	gViewerWindow->pickAsync(x, y, mask, pickCallback);
 	return TRUE;
 }
 
diff --git a/indra/newview/lltoolfocus.cpp b/indra/newview/lltoolfocus.cpp
index d8cb70dd3c60d0882a60023ef189833edb7f5d3c..07f46c5fbe07e08669b25992412af8ab4d970162 100644
--- a/indra/newview/lltoolfocus.cpp
+++ b/indra/newview/lltoolfocus.cpp
@@ -135,7 +135,7 @@ BOOL LLToolCamera::handleMouseDown(S32 x, S32 y, MASK mask)
 
 	gViewerWindow->hideCursor();
 
-	gViewerWindow->pickAsync(x, y, mask, pickCallback, /*BOOL pick_transparent*/ FALSE, /*BOOL pick_rigged*/ gSavedSettings.getBOOL("AnimatedObjectsAllowLeftClick"), /*BOOL pick_unselectable*/ TRUE);
+	gViewerWindow->pickAsync(x, y, mask, pickCallback, /*BOOL pick_transparent*/ FALSE, /*BOOL pick_rigged*/ FALSE, /*BOOL pick_unselectable*/ TRUE);
 
 	return TRUE;
 }
diff --git a/indra/newview/lltoolpie.cpp b/indra/newview/lltoolpie.cpp
index 1e960ed5368c63fa5c0a47c15744843f27a15727..b4736841d639ed2287bf690ef4f89831dbf3b742 100644
--- a/indra/newview/lltoolpie.cpp
+++ b/indra/newview/lltoolpie.cpp
@@ -78,10 +78,6 @@ static void handle_click_action_play();
 static void handle_click_action_open_media(LLPointer<LLViewerObject> objectp);
 static ECursorType cursor_from_parcel_media(U8 click_action);
 
-BOOL rigged_hovering_keep_hand = false;
-U64 last_rigged_hovering_check_clock_count = 0;
-U64 last_rigged_pick_clock_count = 0;
-
 LLToolPie::LLToolPie()
 :	LLTool(std::string("Pie")),
 	mMouseButtonDown( false ),
@@ -116,7 +112,7 @@ BOOL LLToolPie::handleMouseDown(S32 x, S32 y, MASK mask)
 	mMouseDownX = x;
 	mMouseDownY = y;
 	LLTimer pick_timer;
-	BOOL pick_rigged = gSavedSettings.getBOOL("AnimatedObjectsAllowLeftClick");
+	BOOL pick_rigged = false; //gSavedSettings.getBOOL("AnimatedObjectsAllowLeftClick");
 	LLPickInfo transparent_pick = gViewerWindow->pickImmediate(x, y, TRUE /*includes transparent*/, pick_rigged);
 	LLPickInfo visible_pick = gViewerWindow->pickImmediate(x, y, FALSE, pick_rigged);
 	LLViewerObject *transp_object = transparent_pick.getObject();
@@ -730,21 +726,7 @@ void LLToolPie::selectionPropertiesReceived()
 
 BOOL LLToolPie::handleHover(S32 x, S32 y, MASK mask)
 {
-	// prevent rigged item hovering causing FPS to drop by faking we're still hovering it for 0.25 seconds
-	U64 current_clock_count = LLTimer::getCurrentClockCount();
-	if (current_clock_count - last_rigged_pick_clock_count < 2500000) {
-		if(rigged_hovering_keep_hand) gViewerWindow->setCursor(UI_CURSOR_HAND);
-		return TRUE;
-	}
-	rigged_hovering_keep_hand = 0;
-
-    static LLCachedControl<bool> pick_rigged_setting(gSavedSettings, "AnimatedObjectsAllowLeftClick");
-    BOOL pick_rigged = pick_rigged_setting;
-	if (pick_rigged) {
-		pick_rigged = (current_clock_count - last_rigged_hovering_check_clock_count > 1000000); // only 10 per seconds
-		if (pick_rigged) last_rigged_hovering_check_clock_count = current_clock_count;
-	}
-	
+    BOOL pick_rigged = false; //gSavedSettings.getBOOL("AnimatedObjectsAllowLeftClick");
 	mHoverPick = gViewerWindow->pickImmediate(x, y, FALSE, pick_rigged);
 	LLViewerObject *parent = NULL;
 	LLViewerObject *object = mHoverPick.getObject();
@@ -752,10 +734,6 @@ BOOL LLToolPie::handleHover(S32 x, S32 y, MASK mask)
 	if (object)
 	{
 		parent = object->getRootEdit();
-		// Update gLastRiggedPickClockCount if we're hovering a rigged item
-		if (object->isRiggedMesh()) {
-			last_rigged_pick_clock_count = current_clock_count;
-		}
 	}
 
 	// Show screen-space highlight glow effect
@@ -821,7 +799,6 @@ BOOL LLToolPie::handleHover(S32 x, S32 y, MASK mask)
 		{
 			show_highlight = true;
 			gViewerWindow->setCursor(UI_CURSOR_HAND);
-			rigged_hovering_keep_hand = true;
 			LL_DEBUGS("UserInput") << "hover handled by LLToolPie (inactive)" << LL_ENDL;
 		}
 		else
diff --git a/indra/newview/pipeline.cpp b/indra/newview/pipeline.cpp
index 2cafd93b83b6f669e7401c3cf25fda82c3ffdf19..d797b64731dcc6932e226f43c4a4fbb7c7a93f23 100644
--- a/indra/newview/pipeline.cpp
+++ b/indra/newview/pipeline.cpp
@@ -7176,7 +7176,6 @@ LLViewerObject* LLPipeline::lineSegmentIntersectInWorld(const LLVector4a& start,
 	
 	if (!sPickAvatar)
 	{
-		pick_rigged = false;
 		//save hit info in case we need to restore
 		//due to attachment override
 		LLVector4a local_normal;