diff --git a/misc/tableheader.js b/misc/tableheader.js
index 949ef52..9b8aed2 100644
--- a/misc/tableheader.js
+++ b/misc/tableheader.js
@@ -95,14 +95,18 @@ Drupal.tableHeader.prototype.eventhandlerRecalculateStickyHeader = function (eve
   // visible or when forced.
   if (this.stickyVisible && (calculateWidth || !this.widthCalculated)) {
     this.widthCalculated = true;
-    // Resize header and its cell widths.
+    // Resize header and its cell widths. 
     this.stickyHeaderCells.each(function (index) {
+    // Only apply width to visible cells to fix tabledrag conflict 
+    // where table header widths change on scroll and create broken header on return to page top.
+    if ($(this).css('display') != 'none'){
       var cellWidth = self.originalHeaderCells.eq(index).css('width');
       // Exception for IE7.
       if (cellWidth == 'auto') {
         cellWidth = self.originalHeaderCells.get(index).clientWidth + 'px';
       }
       $(this).css('width', cellWidth);
+    }
     });
     this.stickyTable.css('width', this.originalTable.css('width'));
   }
