Index: BlockLayoutManager.java
===================================================================
--- BlockLayoutManager.java	(revision 817715)
+++ BlockLayoutManager.java	(working copy)
@@ -110,6 +110,12 @@
         }
     }
 
+    public void setIndent() {
+        startIndent = getBlockFO().getCommonMarginBlock().startIndent.getValue(this);
+        endIndent = getBlockFO().getCommonMarginBlock().endIndent.getValue(this);
+
+    }
+
     /** {@inheritDoc} */
     public List getNextKnuthElements(LayoutContext context, int alignment) {
         return getNextKnuthElements(context, alignment, null, null, null);
Index: BlockStackingLayoutManager.java
===================================================================
--- BlockStackingLayoutManager.java	(revision 817715)
+++ BlockStackingLayoutManager.java	(working copy)
@@ -205,6 +205,11 @@
      * @return the resulting content area IPD
      */
     protected int updateContentAreaIPDwithOverconstrainedAdjust() {
+        if (this instanceof BlockLayoutManager) {
+            BlockLayoutManager blm = (BlockLayoutManager) this;
+            blm.setIndent();
+        }
+
         int ipd = referenceIPD - (startIndent + endIndent);
         if (ipd < 0) {
             //5.3.4, XSL 1.0, Overconstrained Geometry
@@ -228,6 +233,10 @@
      * @return the resulting content area IPD
      */
     protected int updateContentAreaIPDwithOverconstrainedAdjust(int contentIPD) {
+        if (this instanceof BlockLayoutManager) {
+            BlockLayoutManager blm = (BlockLayoutManager) this;
+            blm.setIndent();
+        }
         int ipd = referenceIPD - (contentIPD + (startIndent + endIndent));
         if (ipd < 0) {
             //5.3.4, XSL 1.0, Overconstrained Geometry
