         // changed the value to NO_SELECTION
         if (selectedIndexChanged && selectedIndex == NO_SELECTION)
             textInput.text = "";
-    }
-    
-    /**
-     *  @private 
-     */ 
-    override mx_internal function updateLabelDisplay():void
+    }    
+    
+    /**
+     *  @private 
+     */ 
+    override mx_internal function updateLabelDisplay(displayItem:* = undefined):void
     {
         super.updateLabelDisplay();
         
         if (textInput)
         {
-            if (selectedItem != null && selectedItem != undefined)
+            if (displayItem == undefined)
+                displayItem = selectedItem;
+            if (displayItem != null && displayItem != undefined)
             {
-                textInput.text = LabelUtil.itemToLabel(selectedItem, labelField, labelFunction);
+                textInput.text = LabelUtil.itemToLabel(displayItem, labelField, labelFunction);
             }
         }
     }

        actualProposedSelectedIndex = value;
    }
    
    /**
     *  @private 
     */

     */ 
    protected function textInput_changeHandler(event:TextOperationEvent):void
    {  
        userTypedIntoText = true;
        
        var operation:FlowOperation = event.operation;
