diff --git a/javafx-ui-controls/src/com/sun/javafx/scene/control/skin/TableViewSkin.java b/javafx-ui-controls/src/com/sun/javafx/scene/control/skin/TableViewSkin.java
--- a/javafx-ui-controls/src/com/sun/javafx/scene/control/skin/TableViewSkin.java
+++ b/javafx-ui-controls/src/com/sun/javafx/scene/control/skin/TableViewSkin.java
@@ -179,6 +179,7 @@
         registerChangeListener(tableView.rowFactoryProperty(), "ROW_FACTORY");
         registerChangeListener(tableView.placeholderProperty(), "PLACEHOLDER");
         registerChangeListener(tableView.focusTraversableProperty(), "FOCUS_TRAVERSABLE");
+        registerChangeListener(tableView.widthProperty(), "WIDTH");
     }
 
     @Override protected void handleControlPropertyChanged(String p) {
@@ -196,6 +197,8 @@
             updatePlaceholderRegionVisibility();
         } else if (p == "FOCUS_TRAVERSABLE") {
             flow.setFocusTraversable(getSkinnable().isFocusTraversable());
+        } else if (p == "WIDTH") {
+            tableHeaderRow.setTablePadding(getInsets());
         }
     }