Index: misc/tabledrag.js
===================================================================
RCS file: /cvs/drupal/drupal/misc/tabledrag.js,v
retrieving revision 1.35
diff -u -p -r1.35 tabledrag.js
--- misc/tabledrag.js	10 Mar 2010 20:31:59 -0000	1.35
+++ misc/tabledrag.js	15 Mar 2010 19:27:46 -0000
@@ -109,15 +109,13 @@ Drupal.tableDrag.prototype.hideColumns =
     }
 
     // Hide the column containing this field.
-    if (hidden && cell[0] && cell.css('display') != 'none') {
+    if (hidden && cell[0]) {
       // Add 1 to our indexes. The nth-child selector is 1 based, not 0 based.
       // Match immediate children of the parent element to allow nesting.
-      var columnIndex = $('> td', cell.parent()).index(cell.get(0)) + 1;
-      var headerIndex = $('> td:not(:hidden)', cell.parent()).index(cell.get(0)) + 1;
+      var index = $('> td', cell.parent()).index(cell.get(0)) + 1;
       $('> thead > tr, > tbody > tr, > tr', this.table).each(function(){
         var row = $(this);
         var parentTag = row.parent().get(0).tagName.toLowerCase();
-        var index = (parentTag == 'thead') ? headerIndex : columnIndex;
 
         // Adjust the index to take into account colspans.
         row.children().each(function (n) {
@@ -132,9 +130,7 @@ Drupal.tableDrag.prototype.hideColumns =
             cell[0].colSpan = cell[0].colSpan - 1;
           }
           else {
-            // Hide table body cells, but remove table header cells entirely
-            // (Safari doesn't hide properly).
-            parentTag == 'thead' ? cell.remove() : cell.css('display', 'none');
+            cell.css('display', 'none');
           }
         }
       });
