             //then wait a few frames
             noEnterFramesToWait = 2;
             UIImpersonator.testDisplay.addEventListener(Event.ENTER_FRAME, onEnterFrame);
-            Async.handleEvent(this, _finishNotifier, Event.COMPLETE, then_expand_second_folder, 300);
+            Async.handleEvent(this, _finishNotifier, Event.COMPLETE, then_expand_second_folder, 300, {useAnimation:false});
+        }
+
+        [Test(async, timeout=1000)]
+        public function test_closing_previously_opened_folder_with_0_children_using_animation_does_not_throw_fatal():void
+        {
+            //given
+            const dataProvider:ArrayCollection = new ArrayCollection();
+            dataProvider.addItem(parent0);
+            dataProvider.addItem(parent1);
+
+            //when
+            _sut.dataProvider = dataProvider;
+
+            //then wait a few frames
+            noEnterFramesToWait = 2;
+            UIImpersonator.testDisplay.addEventListener(Event.ENTER_FRAME, onEnterFrame);
+            Async.handleEvent(this, _finishNotifier, Event.COMPLETE, then_expand_second_folder, 300, {useAnimation:true});
         }
 
 
         private function then_expand_second_folder(event:Event, passThroughData:Object):void
         {
             //when
-            _sut.expandItem(parent1, true, true, true);
+            _sut.expandItem(parent1, true, passThroughData.useAnimation, true);
 
             //then wait a bit
             noEnterFramesToWait = 5;
             UIImpersonator.testDisplay.addEventListener(Event.ENTER_FRAME, onEnterFrame);
-            Async.handleEvent(this, _finishNotifier, Event.COMPLETE, then_move_child_to_first_parent_and_expand_it, 500);
+            Async.handleEvent(this, _finishNotifier, Event.COMPLETE, then_move_child_to_first_parent_and_expand_it, 500, passThroughData);
         }
 
         private function then_move_child_to_first_parent_and_expand_it(event:Event, passThroughData:Object):void

        //--------------------------------------------------------------------------

        [Test(async, timeout=1000)]
        public function test_closing_previously_opened_folder_with_0_children_does_not_throw_fatal():void
        {
            //given
            const dataProvider:ArrayCollection = new ArrayCollection();

            _sut = new Tree();
            _sut.width = 200;
            _sut.height = 200;

            parent0 = {label: "Folder 0", children: new ArrayCollection()};
            parent1 = {label: "Folder 1", children: new ArrayCollection([child])};

            UIImpersonator.addChild(_sut);
        }

