diff --git a/doc/contributions.txt b/doc/contributions.txt
index e86ef11a72bd58e85621a2482f45d812f8afe0df..10c935f9bbf2cc70d45cf5b7a3001b6436c33989 100644
--- a/doc/contributions.txt
+++ b/doc/contributions.txt
@@ -748,6 +748,7 @@ Marine Kelley
 MartinRJ Fayray
     STORM-1844
     STORM-1845
+    STORM-1934
 Matthew Anthony
 Matthew Dowd
 	VWR-1344
diff --git a/indra/newview/lldrawable.cpp b/indra/newview/lldrawable.cpp
index ba1759f642560b3cad2af568d9f4665bc6857244..4b0d3b361d55368130ede7598cd1a9d3805670df 100644
--- a/indra/newview/lldrawable.cpp
+++ b/indra/newview/lldrawable.cpp
@@ -577,6 +577,12 @@ F32 LLDrawable::updateXform(BOOL undamped)
 			mVObjp->dirtySpatialGroup();
 		}
 	}
+	else if (!isRoot() &&
+			((dist_vec_squared(old_pos, target_pos) > 0.f)
+			|| (1.f - dot(old_rot, target_rot)) > 0.f))
+	{ //fix for BUG-840, MAINT-2275, MAINT-1742, MAINT-2247
+			gPipeline.markRebuild(this, LLDrawable::REBUILD_POSITION, TRUE);
+	}
 	else if (!getVOVolume() && !isAvatar())
 	{
 		movePartition();