                 oldCaretBounds = newCaretBounds;
             }
         }
+    }
+    
+    /**
+     *  @private
+     */
+    private function resizeHandler(event:Event):void
+    {
+        // Resizing needs to tickle the TextArea's internal auto-scroll logic
+        invalidateCaretPosition = true;
+        invalidateDisplayList();
     }
     
     /**

                            textDisplayGroup.verticalScrollPosition = caretTopPosition;
                        }
                    }
                }
                
                // Convert to local coordinates

                // Scroll the internal Scroller to ensure the caret is visible
                if (textHeight > unscaledTextHeight)
                {
                    
                    if (charIndex == textDisplay.text.length)
                    {
                        // Make sure textDisplayGroup is validated, otherwise the 
