Index: /CKEditor/trunk/_source/plugins/sourcearea/plugin.js
===================================================================
--- /CKEditor/trunk/_source/plugins/sourcearea/plugin.js	(revision 3402)
+++ /CKEditor/trunk/_source/plugins/sourcearea/plugin.js	(revision 3403)
@@ -30,5 +30,5 @@
 
 							// Create the source area <textarea>.
-							textarea = new CKEDITOR.dom.element( 'textarea' );
+							editor.textarea = textarea = new CKEDITOR.dom.element( 'textarea' );
 							textarea.setAttributes(
 								{
@@ -62,12 +62,17 @@
 								if ( !CKEDITOR.env.quirks || CKEDITOR.env.version < 7 )
 								{
+									function getHolderRect(){
+										return {	
+											height : holderElement.$.clientHeight + 'px',
+											width : holderElement.$.clientWidth + 'px' 
+										}
+									}
+
 									onResize = function()
 										{
-											textarea.setStyles({
-												height : holderElement.$.clientHeight + 'px',
-												width : holderElement.$.clientWidth + 'px' });
+											textarea.setStyles( getHolderRect() );
 										};
+									styles = CKEDITOR.tools.extend( styles, getHolderRect(), true );
 									editor.on( 'resize', onResize );
-									onResize();
 								}
 							}
@@ -86,10 +91,9 @@
 							}
 
-							textarea.setStyles( styles );
-
 							// Reset the holder element and append the
 							// <textarea> to it.
 							holderElement.setHtml( '' );
 							holderElement.append( textarea );
+							textarea.setStyles( styles );
 
 							// The editor data "may be dirty" after this point.
@@ -128,5 +132,5 @@
 						unload : function( holderElement )
 						{
-							textarea = null;
+							editor.textarea = textarea = null;
 
 							if ( onResize )
