             }
         }
 
+		if (needsDisplayObjectAssignment)
+		{
+			needsDisplayObjectAssignment = false;
+			assignDisplayObjects();
+		}
+		
         if (scrollPositionChanged) {
             scrollPositionChanged = false;
             var r:Rectangle = scrollRect;

        
        itemAdded(item, index);
        
        assignDisplayObjects();
        
        return item;
    }

                
                if (currentAssignableDO == null || element.needsDisplayObject)
                {
                    var newChild:DisplayObject = element.displayObject;
                    
                    if (newChild == null)
                    {
