         {
             if (_displayAsPassword)
                 TextUtil.obscureTextFlow(textFlow, mx_internal::passwordChar);
-            else if (_text != null)
+            else if (_text != null && displayAsPasswordChanged)
                 TextUtil.unobscureTextFlow(textFlow, _text);
         }
 

     *  An insertion point is then set after the new text.
     */
    public function insertText(text:String):void
    {
        EditManager(textFlow.interactionManager).insertText(text);
    }
    
    /**

        {
            kind = TextUtil.FORMAT_MAP[p];
            
            if (kind == TextUtil.CONTAINER && containerFormat)
                format[p] = containerFormat[p];
            else if (kind == TextUtil.PARAGRAPH && paragraphFormat)
                format[p] = paragraphFormat[p];
            else if (kind == TextUtil.CHARACTER && characterFormat)
                format[p] = characterFormat[p];
        }
        
        // Restore the prior manager.
        switchInteractionManager(textFlow, priorManager);
                
        return format;
    }

