 				_nodeToId[node] = nodeId;
 				_idToNode[nodeId] = node;
 				_transforms[nodeId] = node.transform;
+				_worldToLocalUpToDate[nodeId] = false;
 				
 				if (oldNodeId >= 0 && oldNodeId < oldLocalToWorldTransforms.length)
 				{

			_flags = new <uint>[];
			_localToWorldTransforms = new <Matrix4x4>[];
			_worldToLocalTransforms = new <Matrix4x4>[];
			_numChildren.length = 0;
			_firstChildId.length = 0;
			_idToNode.length = 0;

					localToWorldTransformChanged.execute(child, childLocalToWorld);
				
				localToWorld = childLocalToWorld;
			}
		}
		
		private function setDescendantsAsDirty(node : Group, ignoreIDs : Vector.<uint> = null) : void
		{
			for (var i : int = 0; i < node.numChildren; ++i)
			{
				var child	: ISceneNode	= node.getChildAt(i);
				var id		: int			= _nodeToId[child];
				
				if (ignoreIDs.indexOf(id) != -1)
					continue;
				
				if (child is Group)
					setDescendantsAsDirty(child as Group, ignoreIDs);
				
				_worldToLocalUpToDate[id] = false;
			}
		}
		
