         {
             // If we can't save the data, say, because the data was invalid, 
             // then cancel the save.
-            if (!dataGrid.endItemEditorSession())
+            if (!inEndEdit && !dataGrid.endItemEditorSession())
             {
                 dataGrid.endItemEditorSession(true);
             }

     *  
     */
    private function endEdit():Boolean
    {
        // Focus is inside an item renderer
        if (!itemEditorInstance && editedItemRenderer)
        {

        
        // If we can't save the data, say, because the data was invalid, 
        // then cancel the save.
        if (!inEndEdit && !dataGrid.endItemEditorSession())
        {
            dataGrid.endItemEditorSession(true);
        }
