diff --git a/src/adapt/cssstyler.js b/src/adapt/cssstyler.js
index <HASH>..<HASH> 100644
--- a/src/adapt/cssstyler.js
+++ b/src/adapt/cssstyler.js
@@ -532,14 +532,12 @@ adapt.cssstyler.columnProps = ["column-count", "column-width", "column-fill"];
  * @return {void}
  */
 adapt.cssstyler.Styler.prototype.postprocessTopStyle = function(elemStyle, isBody) {
-    if (!isBody) {
-        ["writing-mode", "direction"].forEach(function(propName) {
-            if (elemStyle[propName]) {
-                // Copy it over, but keep it at the root element as well.
-                this.rootStyle[propName] = elemStyle[propName];
-            }
-        }, this);
-    }
+    ["writing-mode", "direction"].forEach(propName => {
+        if (elemStyle[propName] && !(isBody && this.rootStyle[propName])) {
+            // Copy it over, but keep it at the root element as well.
+            this.rootStyle[propName] = elemStyle[propName];
+        }
+    });
     if (!this.rootBackgroundAssigned) {
         const backgroundColor = /** @type {adapt.css.Val} */
             (this.hasProp(elemStyle, this.validatorSet.backgroundProps, "background-color") ?
Fix the bug that the writing mode specified on the body element did not determine the principal (root) writing mode