diff --git a/misc/tableheader.js b/misc/tableheader.js
index 80d1fbddeefb5ae5277821e022ffd3a4fdb7b98f..cd6a6634d38a1785bba15146d4c3871e7201cc23 100644
--- a/misc/tableheader.js
+++ b/misc/tableheader.js
@@ -42,8 +42,7 @@ Drupal.behaviors.tableHeader = function (context) {
         ref = table;
         div.wide = true;
       }
-      $(div).css('width', parseInt($(ref).width())
-                        - parseInt($(div).css('paddingLeft')) +'px');
+      $(div).css('width', $(ref).width() - parseInt($(div).css('paddingLeft')) +'px');
 
       // Get position and store.
       div.cell = this;
@@ -96,8 +95,7 @@ Drupal.behaviors.tableHeader = function (context) {
           // Resize the first cell to fit the table.
           ref = this.table;
         }
-        $(this).css('width', parseInt($(ref).width())
-                           - parseInt($(this).css('paddingLeft')) +'px');
+        $(this).css('width', $(ref).width() - parseInt($(this).css('paddingLeft')) +'px');
       });
 
       // Reset timer
diff --git a/modules/system/system.css b/modules/system/system.css
index 564b0666fcac909d3d686c2482ec8fff7cf0d3b9..e5917eee3e5598ecec0230bcaeb5fcff1ea42ee4 100644
--- a/modules/system/system.css
+++ b/modules/system/system.css
@@ -352,6 +352,10 @@ html.js fieldset.collapsed legend a {
 * html.js fieldset.collapsed table * {
   display: inline;
 }
+/* For Safari 2 to prevent collapsible fieldsets containing tables from dissapearing due to tableheader.js. */
+html.js fieldset.collapsible {
+  position: relative;
+}
 html.js fieldset.collapsible legend a {
   display: block;
 }