                 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

    public function TextAreaSkin()
    {
        super();
        
        addEventListener(Event.RESIZE, resizeHandler);
        
        switch (applicationDPI)
        {
