         
         private function initialStateHandler(event:org.apache.flex.events.Event):void
         {
+            sawInitComplete = true;
             stateChangeHandler(new ValueChangeEvent("currentStateChange", false, false, null, 
                 IStatesObject(_strand).currentState));
         }		
      
         private function stateChangeHandler(event:ValueChangeEvent):void
         {
+            if (!sawInitComplete)
+                return;
+            
             var doc:IStatesObject = _strand as IStatesObject;
             var arr:Array = doc.states;
             for each (var s:State in arr)

        
        private var _strand:IStrand;
        
        /**
         *  @copy org.apache.flex.core.IBead#strand
         *  

                            parent = parent[ai.destination] as IParent;
                        if (ai.relativeTo != null)
                        {
                            var child:Object = ai.document[ai.relativeTo];
                            parent = child.parent as IParent;
                            var index:int = parent.getElementIndex(child);
                            if (ai.position == "after")
                                index++;
                            parent.addElementAt(item, index);
                        }
                        else
