 		
 		private function updateLocalToWorldPath(path : Vector.<uint> = null) : void
 		{
-			var numNodes 	    : uint 	    = path.length;
-			var nodeId          : uint      = path[uint(numNodes - 1)];
-			var localToWorld 	: Matrix4x4	= _localToWorldTransforms[nodeId];
+			var numNodes				: uint		= path.length;
+			var nodeId					: uint		= path[uint(numNodes - 1)];
+			var localToWorld 			: Matrix4x4	= _localToWorldTransforms[nodeId];
+			var prevChildLocalToWorld	: Matrix4x4	= new Matrix4x4();
 			
 			updateRootLocalToWorld(nodeId);
 			

				
				var localToWorldTransformChanged : Signal = child.localToWorldTransformChanged;
				
				if (localToWorldTransformChanged.enabled)
					localToWorldTransformChanged.execute(child, childLocalToWorld);
				
				localToWorld = childLocalToWorld;

				var childFlags          : uint          = _flags[childId];
				var child	            : ISceneNode	= _idToNode[childId];
				
				prevChildLocalToWorld.copyFrom(childLocalToWorld);
				
				if (childFlags & FLAG_LOCK_TRANSFORMS)
					childLocalToWorld.lock();
				
				childLocalToWorld
					.copyFrom(childTransform)
					.append(localToWorld);
				
				
				if (childFlags & FLAG_LOCK_TRANSFORMS)
					childLocalToWorld.unlock();
