Index: src/java/org/apache/fop/fo/FOPropertyMapping.java
===================================================================
--- src/java/org/apache/fop/fo/FOPropertyMapping.java	(revision 751815)
+++ src/java/org/apache/fop/fo/FOPropertyMapping.java	Mon Mar 09 21:06:59 CET 2009
@@ -1884,7 +1884,7 @@
 
         // reference-orientation
         m  = new ReferenceOrientationMaker(PR_REFERENCE_ORIENTATION);
-        m.setInherited(true);
+        m.setInherited(false);
         m.setDefault("0");
         addPropertyMaker("reference-orientation", m);
 
Index: src/java/org/apache/fop/area/Page.java
===================================================================
--- src/java/org/apache/fop/area/Page.java	(revision 751815)
+++ src/java/org/apache/fop/area/Page.java	Mon Mar 09 20:41:23 CET 2009
@@ -132,7 +132,8 @@
                     false, false, false, false, null);
             TraitSetter.addPadding(rr, r.getCommonBorderPaddingBackground(),
                     false, false, false, false, null);
-            setRegionReferencePosition(rr, r, rvp.getViewArea());
+            setRegionReferencePosition(rr, r, rvp.getViewArea(),
+                    spm.getReferenceOrientation() + r.getReferenceOrientation());
             rvp.setRegionReference(rr);
             setRegionViewport(r.getNameId(), rvp);
        }
@@ -178,11 +179,15 @@
      * @param absRegVPRect The region viewport rectangle in "absolute" coordinates
      * where x=distance from left, y=distance from bottom, width=right-left
      * height=top-bottom
+     * @param absRefOrientation the region's reference-orientation with respect to
+     * the page-reference-area. Note: for the initial value of "0", this
+     * will effectively be the value of the property for the parent simple-page-master.
+     * More generally, it should be the total (page r-o plus region r-o).
      */
     private void setRegionReferencePosition(RegionReference rr, Region r,
-                                  Rectangle2D absRegVPRect) {
+                                  Rectangle2D absRegVPRect, int absRefOrientation) {
         FODimension reldims = new FODimension(0, 0);
-        rr.setCTM(CTM.getCTMandRelDims(r.getReferenceOrientation(),
+        rr.setCTM(CTM.getCTMandRelDims(absRefOrientation,
                 r.getWritingMode(), absRegVPRect, reldims));
         rr.setIPD(reldims.ipd
                 - rr.getBorderAndPaddingWidthStart()
