         }
     }
 
-    return count;
+    return count - attributeCountAdjustment;
 }
 
 UIElement@ GetAttributeEditorParent(UIElement@ parent, uint index, uint subIndex)

    if (sameName)
        LoadAttributeEditor(parent, value, info, editable, sameValue, values);
    else
        parent.Remove();

    inLoadAttributeEditor = false;
}

    if (fullUpdate)
    {
        list.RemoveAllItems();
        attributeCountAdjustment = 0;
        Array<UIElement@> children = list.GetChildren();
        for (uint i = 0; i < children.length; ++i)
        {
