         {
             needsDisplayObjectAssignment = false;
             assignDisplayObjects();
+        }
+        
+        if (scaleGridChanged)
+        {
+        	// Don't reset scaleGridChanged since we also check it in updateDisplayList
+        	if (isValidScaleGrid())
+        		resizeMode = ResizeMode.SCALE; // Force the resizeMode to scale	
         }
         
         // TODO EGeorgie: we need to optimize this, iterating through all the elements is slow.

        if (scaleGridChanged)
        {
        	scaleGridChanged = false;
        	
        	/*scale9Grid = new Rectangle(scaleGridLeft, 
        							   scaleGridTop,	
        							   scaleGridRight - scaleGridLeft, 
        							   scaleGridBottom - scaleGridTop);*/
        }
    }


        if (!mxmlContentChanged)
            elementAdded(element, index);
        
        scaleGridChanged = true;
                
        return element;
    }
    
