diff --git a/mozilla/layout/html/table/src/BasicTableLayoutStrategy.cpp b/mozilla/layout/html/table/src/BasicTableLayoutStrategy.cpp
index 38e208878e3..631403b298e 100644
--- a/mozilla/layout/html/table/src/BasicTableLayoutStrategy.cpp
+++ b/mozilla/layout/html/table/src/BasicTableLayoutStrategy.cpp
@@ -1859,6 +1859,8 @@ void BasicTableLayoutStrategy::AllocateConstrained(PRInt32 aAvailWidth,
// proportional and desired widths are handled together
PRBool haveProWidth = PR_FALSE;
if (DES_CON == aWidthType) {
+ // Take into acount MIN_adj width as it has been included in totals before
+ maxWidth = PR_MAX(maxWidth, colFrame->GetWidth(MIN_ADJ));
nscoord proWidth = colFrame->GetWidth(MIN_PRO);
if (proWidth >= 0) {
haveProWidth = PR_TRUE;
diff --git a/mozilla/layout/tables/BasicTableLayoutStrategy.cpp b/mozilla/layout/tables/BasicTableLayoutStrategy.cpp
index 38e208878e3..631403b298e 100644
--- a/mozilla/layout/tables/BasicTableLayoutStrategy.cpp
+++ b/mozilla/layout/tables/BasicTableLayoutStrategy.cpp
@@ -1859,6 +1859,8 @@ void BasicTableLayoutStrategy::AllocateConstrained(PRInt32 aAvailWidth,
// proportional and desired widths are handled together
PRBool haveProWidth = PR_FALSE;
if (DES_CON == aWidthType) {
+ // Take into acount MIN_adj width as it has been included in totals before
+ maxWidth = PR_MAX(maxWidth, colFrame->GetWidth(MIN_ADJ));
nscoord proWidth = colFrame->GetWidth(MIN_PRO);
if (proWidth >= 0) {
haveProWidth = PR_TRUE;