diff --git a/content_admin.inc b/content_admin.inc
index 131af47..5182793 100644
--- a/content_admin.inc
+++ b/content_admin.inc
@@ -67,10 +67,14 @@ function content_admin_field_overview_form($type_name) {
     if (!$form['#groups']) {
       drupal_set_message(t('There are no groups configured for this content type.'));
     }
-    foreach ($form['#groups'] as $group) {
+    foreach ($form['#groups'] as $group_name => $group) {
       foreach ($group['fields'] as $field_name => $field) {
         unset($dummy_form[$field_name]);
       }
+      foreach ($group['moduledata'] as $field_name => $field) {
+        $form['#groups'][$group_name]['moduledata'][$field_name]['weight'] = (int) $dummy_form[$field_name]['#weight'];
+        unset($dummy_form[$field_name]);
+      }
     }
   }
 
@@ -124,6 +128,25 @@ function content_admin_field_overview_form($type_name) {
           $form['field-groups'][$field_name]  = array('#type' => 'select', '#options' => $form['#group_labels'], '#default_value' => fieldgroup_get_group($type['type'], $field_name));
           $form['field-groups-defaults'][$field_name]  = array('#type' => 'hidden', '#value' => fieldgroup_get_group($type['type'], $field_name));
         }
+        // fields done, take care of other moved module data
+        foreach ($form['#groups'][$key]['moduledata'] as $field_name => $field) {
+          $row = array();
+          $row['label']     = $field_name == 'body_filter' ? t('body') : $field_name;
+          $row['name']      = $field_name;
+          $row['type']      = $field_name;
+          $row['weights']   = 'form-field-weights';
+          $row['groups']    = 'form-field-groups'; // '';
+          $row['configure'] = '';
+          $row['remove']    = '';
+          //$form['#table'][$value['#weight']][] = array($key => $row);
+          $group_form[$field['weight']][] = array($field_name => $row);
+          //$form['disabled']['#value'][] = $key;
+
+          $form['field-weights'][$field_name] = array('#type' => 'weight', '#default_value' => $value['#weight'], '#disabled' => TRUE);
+          $def_group = fieldgroup_get_group($type['type'], $field_name, 'moduledata');
+          $form['field-groups'][$field_name]  = array('#type' => 'select', '#options' => $form['#group_labels'], '#default_value' => fieldgroup_get_group($type['type'], $field_name));
+          $form['field-groups-defaults'][$field_name]  = array('#type' => 'hidden', '#value' => fieldgroup_get_group($type['type'], $field_name));
+        }
         // sort the group fields by weight
         ksort($group_form);
         $group = (array) $data + array('fields' => $group_form);
@@ -160,14 +183,17 @@ function content_admin_field_overview_form($type_name) {
         $row['type']      = $key;
         $row['weights']   = 'form-field-weights';
         if (isset($form['#groups'])) {
-          $row['groups']  = '';
+          $row['groups']  = 'form-field-groups'; // '';
         }
         $row['configure'] = '';
         $row['remove']    = '';
         $form['#table'][$value['#weight']][] = array($key => $row);
-        $form['disabled']['#value'][] = $key;
+        //$form['disabled']['#value'][] = $key;
 
         $form['field-weights'][$key] = array('#type' => 'weight', '#default_value' => $value['#weight'], '#disabled' => TRUE);
+        if (isset($form['#groups']) && !empty($row['groups'])) {
+          $form['field-groups'][$key]  = array('#type' => 'select', '#options' => $form['#group_labels'], '#default_value' => fieldgroup_get_group($type['type'], $key));
+        }
       }
     }
   }
diff --git a/fieldgroup.module b/fieldgroup.module
index b9e1c37..d4d3f6a 100644
--- a/fieldgroup.module
+++ b/fieldgroup.module
@@ -257,6 +257,11 @@ function fieldgroup_groups($content_type = '', $sorted = FALSE, $reset = FALSE)
       while ($field = db_fetch_array($result)) {
         $groups[$field['type_name']][$field['group_name']]['fields'][$field['field_name']] = $field;
       }
+      // load other moved entries
+      $result = db_query("SELECT * FROM {node_group_fields} WHERE NOT field_name LIKE 'field_%'");
+      while ($field = db_fetch_array($result)) {
+        $groups[$field['type_name']][$field['group_name']]['moduledata'][$field['field_name']] = $field;
+      }
       cache_set('fieldgroup_data', 'cache_content', serialize(array('groups' => $groups, 'groups_sorted' => $groups_sorted)));
     }
   }
@@ -300,13 +305,14 @@ function fieldgroup_form_alter($form_id, &$form) {
         '#description' => t($group['settings']['form']['description']),
         '#attributes' => array('class' => strtr($group['group_name'], '_', '-')),
       );
-      foreach ($group['fields'] as $field_name => $field) {
+      $move = array_merge((array)$group['fields'], (array)$group['moduledata']);
+      foreach ($move as $field_name => $field) {
         if (isset($form[$field_name])) {
           $form[$group_name][$field_name] = $form[$field_name];
           unset($form[$field_name]);
         }
       }
-      if (!empty($group['fields']) && !element_children($form[$group_name])) {
+      if (!empty($move) && !element_children($form[$group_name])) {
         //hide the fieldgroup, because the fields are hidden too
         unset($form[$group_name]);
       }
@@ -392,7 +398,8 @@ function fieldgroup_nodeapi(&$node, $op, $teaser, $page) {
         $node->content[$group_name] = $element;
 
         $visible = FALSE;
-        foreach ($group['fields'] as $field_name => $field) {
+        $move = array_merge((array)$group['fields'], (array)$group['moduledata']);
+        foreach ($move as $field_name => $field) {
           if (isset($node->content[$field_name])) {
             $node->content[$group_name][$field_name] = $node->content[$field_name];
             if ($node->content[$field_name]['#access'] && !empty($node->content[$field_name]['#value'])) {
@@ -430,9 +437,9 @@ function theme_fieldgroup_simple($element) {
  * If the field isn't in a group, FALSE will be returned.
  * @return The name of the group, or FALSE.
  */
-function fieldgroup_get_group($content_type, $field_name) {
+function fieldgroup_get_group($content_type, $field_name, $section = 'fields') {
   foreach (fieldgroup_groups($content_type) as $group_name => $group) {
-    if (in_array($field_name, array_keys($group['fields']))) {
+    if (in_array($field_name, array_keys($group[$section]))) {
       return $group_name;
     }
   }
