         if (oldVirtualRendererIndices.length == 0)
             return;
         
-        // Remove the old ItemRenderers that aren't new ItemRenderers and 
-        // add them to the freeRenderers list.
+        // Remove the old ItemRenderers that aren't new ItemRenderers and if 
+        // recycling is possible, add them to the freeRenderers list.
+        
+        const recyclingOK:Boolean = isRecyclingOK();       
         
         for each (var vrIndex:int in oldVirtualRendererIndices)
         {

import mx.events.CollectionEvent;
import mx.events.CollectionEventKind;
import mx.events.PropertyChangeEvent;

import spark.components.supportClasses.GroupBase;
import spark.events.RendererExistenceEvent;

                setUpItemRenderer(elt, index, dataProvider.getItemAt(index));
            else
            {
                const item:Object = dataProvider.getItemAt(index);
                
                if (isRecyclingOK() && (freeRenderers.length > 0))
                {
                    elt = freeRenderers.pop();
                    elt.visible = true;
