diff --git a/.hgtags b/.hgtags
index c1b7ebf528ab29d549fbf3d08eb29a0d8b01a411..afe117d3f652fe9ca83a717700b91acf956c28c9 100644
--- a/.hgtags
+++ b/.hgtags
@@ -409,3 +409,4 @@ ccf991e02dc2f63fb646324230d54832683f4a9b DRTVWR-286
 2d849850558a5a0324b398d1c102d30bcbdfb88f DRTVWR-287
 e06898df8644fe567bee94f817d03abc1c380993 3.4.5-beta3
 a676b4d6c037b39fe5b8e42cf8839a9303936089 DRTVWR-289
+28fa8b944a0c1869636ab00cc400f5aa71f6fa3c DRTVWR-290
diff --git a/indra/newview/lldrawable.cpp b/indra/newview/lldrawable.cpp
index 647c3355cae786905be65aa8f45b078a0bce7c8e..d041baea901b76468e2339c5d6d37662cf2f972a 100644
--- a/indra/newview/lldrawable.cpp
+++ b/indra/newview/lldrawable.cpp
@@ -524,6 +524,7 @@ F32 LLDrawable::updateXform(BOOL undamped)
 		dist_squared = dist_vec_squared(new_pos, target_pos);
 
 		LLQuaternion new_rot = nlerp(lerp_amt, old_rot, target_rot);
+		// FIXME: This can be negative! It is be possible for some rots to 'cancel out' pos or size changes.
 		dist_squared += (1.f - dot(new_rot, target_rot)) * 10.f;
 
 		LLVector3 new_scale = lerp(old_scale, target_scale, lerp_amt);
@@ -549,9 +550,12 @@ F32 LLDrawable::updateXform(BOOL undamped)
 	}
 	else
 	{
-		dist_squared = dist_vec_squared(old_pos, target_pos);
-		dist_squared += (1.f - dot(old_rot, target_rot)) * 10.f;
-		dist_squared += dist_vec_squared(old_scale, target_scale);
+		// The following fixes MAINT-1742 but breaks vehicles similar to MAINT-2275
+		// dist_squared = dist_vec_squared(old_pos, target_pos);
+
+		// The following fixes MAINT-2247 but causes MAINT-2275
+		//dist_squared += (1.f - dot(old_rot, target_rot)) * 10.f;
+		//dist_squared += dist_vec_squared(old_scale, target_scale);
 	}
 
 	LLVector3 vec = mCurrentScale-target_scale;
diff --git a/indra/newview/llviewerparcelmgr.cpp b/indra/newview/llviewerparcelmgr.cpp
index 33f632b25d331075258a59d3a481f1d82c21f4ad..77e382b8c71956ca3c1b35130c30645183a899c4 100644
--- a/indra/newview/llviewerparcelmgr.cpp
+++ b/indra/newview/llviewerparcelmgr.cpp
@@ -1540,17 +1540,6 @@ void LLViewerParcelMgr::processParcelProperties(LLMessageSystem *msg, void **use
 	// Actually extract the data.
 	if (parcel)
 	{
-		if (sequence_id == SELECTED_PARCEL_SEQ_ID
-			&& parcel->getLocalID() != INVALID_PARCEL_ID
-			&& parcel->getLocalID() != local_id)
-		{
-			// The parcel has a valid parcel ID but it doesn't match the parcel
-			// for the data received.
-			llinfos << "Expecting data for parcel " << parcel->getLocalID() \
-					<< " but got data for parcel " << local_id << llendl;
-			return;
-		}
-
 		parcel->init(owner_id,
 			FALSE, FALSE, FALSE,
 			claim_date, claim_price_per_meter, rent_price_per_meter,