                 {
                     _textFlow = staticPlainTextImporter.importToFlow(_text);
                 }
-            }
-            
-            // Make sure the interactionManager is added to this textFlow.           
+				textFlowChanged = true;
+            }
+            
+            // Make sure the interactionManager and controller are added to this textFlow.           
             if (textChanged || contentChanged || textFlowChanged)
             {
                 _textContainerManager.setTextFlow(_textFlow);

                                         composeHeight:Number=NaN):Rectangle
        {   
            // Adjust for explicit min/maxWidth so the measurement is accurate.
            if (isNaN(explicitWidth))
            {
                if (!isNaN(explicitMinWidth) &&
                    isNaN(composeWidth) || composeWidth < minWidth)
                {
                    composeWidth = minWidth;
                }
                if (!isNaN(explicitMaxWidth) &&
                    isNaN(composeWidth) || composeWidth > maxWidth)
                {
                    composeWidth = maxWidth;
                }

                    // except if we're using the explicitWidth.  
                    bounds = measureTextSize(composeWidth);
                    
					// The measured width shouldn’t be pinned to the composeWidth if 
					// the composeWidth is set by %, otherwise the measuredWidth 
					// can keep stretching
					if (!isNaN(explicitWidth) || !isNaN(widthInChars))
						measuredWidth = textContainerManager.compositionWidth;
					else
                    	measuredWidth = Math.ceil(bounds.width); 
                    measuredHeight = Math.ceil(bounds.bottom);
                }
                else if (!isNaN(heightConstraint) || !isNaN(explicitHeight) || 
