This looks like an obvious mistake. $fields probably should be $name in this case. diff -Nurp ../cck.orig/modules/fieldgroup/fieldgroup.module ./modules/fieldgroup/fieldgroup.module --- ../cck.orig/modules/fieldgroup/fieldgroup.module 2010-06-25 15:24:34.000000000 -0500 +++ ./modules/fieldgroup/fieldgroup.module 2010-06-25 15:25:31.000000000 -0500 @@ -729,7 +729,7 @@ function fieldgroup_nodeapi(&$node, $op, $fields = $node->content; if (!empty($fields)) { foreach ($fields as $name => $more) { - if (is_string($fields) && strstr($fields, 'field_')) { + if (is_string($name) && strstr($name, 'field_')) { $field_rows[] = $name; } }