Fix an issue where nested fieldgroups get misplaced when nested 3 groups deep or more. This solution uses a referenced single-depth array so that the nested group can be easily and properly placed into the appropriate parent group. diff -Nurp ../cck.orig/includes/content.admin.inc ./includes/content.admin.inc --- ../cck.orig/includes/content.admin.inc 2010-06-02 16:15:54.000000000 -0500 +++ ./includes/content.admin.inc 2010-06-02 16:16:24.000000000 -0500 @@ -1687,10 +1687,17 @@ function _content_overview_order(&$form, // Nested fieldgroup if (module_exists('fieldgroup')) { // readjust the depth and parenting of fieldgroup + $nested = array(); foreach ($group_rows as $name) { if ($parent = $form[$name]['parent']['#value']) { $form[$name]['#depth'] = $form[$parent]['#depth'] + 1; - $dummy[$parent][$name] = $dummy[$name]; + if (array_key_exists($parent, $nested)){ + $nested[$parent][$name] = $dummy[$name]; + $nested[$name] = & $nested[$parent][$name]; + } else { + $dummy[$parent][$name] = $dummy[$name]; + $nested[$name] = & $dummy[$parent][$name]; + } unset($dummy[$name]); } }