      */
     override protected function skipMeasure():Boolean
     {
-        // If explicit width and height then definately not autoSizing.
-        if (super.skipMeasure())
-        {
-            actuallyAutoSizing = false;
-            return true;
-        }
-             
-        // FIXME (cframpto): consider moving to commitProperties()
-        if (isNaN(widthInChars) && isNaN(heightInLines))
-        {
-            // Can only autoSize if this component isn't the viewport
-            // of a scroller.  autoSize and scrolling don't play well together.
-            actuallyAutoSizing = !_clipAndEnableScrolling;
-            
-            // If we're autoSizing, make sure we aren't scrolled from
-            // previously not being autoSized.
-            if (actuallyAutoSizing)
-            {
-                _textContainerManager.horizontalScrollPosition = 0;
-                _textContainerManager.verticalScrollPosition = 0;
-            }
-        }
-        else
-        {
-            actuallyAutoSizing = false;
-        }
-        
-        return false;        
-    }
-    
+        // If any of width, height, widthInChars or heightInLines is specified
+        // we're not autoSizing. 
+        autoSize = isNaN(explicitWidth) && isNaN(explicitHeight) &&
+                   isNaN(heightInLines) && isNaN(widthInChars);
+                 
+        // If we're autoSizing, make sure we aren't scrolled from
+        // previously not being autoSized.
+        if (autoSize)
+        {
+            _textContainerManager.horizontalScrollPosition = 0;
+            _textContainerManager.verticalScrollPosition = 0;
+        }
+  
+        return super.skipMeasure();                   
+    }
+        
     /**
      *  @private
      */

    /**
     *  @private
     *  True if this component sizes itself based on its actual
     *  contents.  This happens if it's configured for autoSize, it is not
     *  contained within a scroller and an explicit width and height are not
     *  specified.
     */
    mx_internal var actuallyAutoSizing:Boolean = false;
                
    //--------------------------------------------------------------------------
    //

        super.setLayoutBoundsSize(width, height, postLayoutTransform);

        // Only autoSize cares about the real measured width.
        if (!autoSize)
            return;
            
        // FIXME (egeorgie): Possible optimization - if we reflow the text
