diff --git a/mozilla/layout/html/table/src/BasicTableLayoutStrategy.cpp b/mozilla/layout/html/table/src/BasicTableLayoutStrategy.cpp
index 0875430ef6e..918eba0d5a9 100644
--- a/mozilla/layout/html/table/src/BasicTableLayoutStrategy.cpp
+++ b/mozilla/layout/html/table/src/BasicTableLayoutStrategy.cpp
@@ -408,7 +408,9 @@ void BasicTableLayoutStrategy::AllocateUnconstrained(PRInt32 aAllocAmount,
PRInt32 colX;
PRInt32 numCols = mTableFrame->GetColCount();
for (colX = 0; colX < numCols; colX++) {
- if (-1 != aAllocTypes[colX]) {
+ nsTableColFrame* colFrame = mTableFrame->GetColFrame(colX);
+ PRBool skipColumn = aSkip0Proportional && (e0ProportionConstraint == colFrame->GetConstraint());
+ if (-1 != aAllocTypes[colX] && !skipColumn ) {
divisor += mTableFrame->GetColumnWidth(colX);
numColsAllocated++;
}
diff --git a/mozilla/layout/tables/BasicTableLayoutStrategy.cpp b/mozilla/layout/tables/BasicTableLayoutStrategy.cpp
index 0875430ef6e..918eba0d5a9 100644
--- a/mozilla/layout/tables/BasicTableLayoutStrategy.cpp
+++ b/mozilla/layout/tables/BasicTableLayoutStrategy.cpp
@@ -408,7 +408,9 @@ void BasicTableLayoutStrategy::AllocateUnconstrained(PRInt32 aAllocAmount,
PRInt32 colX;
PRInt32 numCols = mTableFrame->GetColCount();
for (colX = 0; colX < numCols; colX++) {
- if (-1 != aAllocTypes[colX]) {
+ nsTableColFrame* colFrame = mTableFrame->GetColFrame(colX);
+ PRBool skipColumn = aSkip0Proportional && (e0ProportionConstraint == colFrame->GetConstraint());
+ if (-1 != aAllocTypes[colX] && !skipColumn ) {
divisor += mTableFrame->GetColumnWidth(colX);
numColsAllocated++;
}