diff --git modules/field_ui/field_ui.admin.inc modules/field_ui/field_ui.admin.inc
index 6ac8be9..fa47f7a 100644
--- modules/field_ui/field_ui.admin.inc
+++ modules/field_ui/field_ui.admin.inc
@@ -158,15 +158,14 @@ function field_ui_table_pre_render($elements) {
         // Add row id and associate JS settings.
         $id = drupal_html_class($name);
         $row['#attributes']['id'] = $id;
-        $row += array(
-          '#js_settings' => array(),
-        );
-        $row['#js_settings'] += array(
-          'rowHandler' => $row['#row_type'],
-          'name' => $name,
-          'region' => $region_name,
-        );
-        $js_settings[$id] = $row['#js_settings'];
+        if (isset($row['#js_settings'])) {
+          $row['#js_settings'] += array(
+            'rowHandler' => $row['#row_type'],
+            'name' => $name,
+            'region' => $region_name,
+          );
+          $js_settings[$id] = $row['#js_settings'];
+        }
       }
     }
   }
diff --git modules/field_ui/field_ui.js modules/field_ui/field_ui.js
index 2aa7731..c1c7b13 100644
--- modules/field_ui/field_ui.js
+++ modules/field_ui/field_ui.js
@@ -114,12 +114,15 @@ Drupal.fieldUIOverview = {
     $('tr.draggable', table).each(function () {
       // Extract server-side data for the row.
       var row = this;
-      var data = rowsData[row.id];
-      data.tableDrag = tableDrag;
-
-      // Create the row handler, make it accessible from the DOM row element.
-      var rowHandler = eval('new rowHandlers.' + data.rowHandler + '(row, data);');
-      $(row).data('fieldUIRowHandler', rowHandler);
+      if (row.id in rowsData) {
+        console.log(row.id);
+        var data = rowsData[row.id];
+        data.tableDrag = tableDrag;
+
+        // Create the row handler, make it accessible from the DOM row element.
+        var rowHandler = eval('new rowHandlers.' + data.rowHandler + '(row, data);');
+        $(row).data('fieldUIRowHandler', rowHandler);
+      }
     });
   },
 
