diff --git a/core/src/elements/ons-fab.js b/core/src/elements/ons-fab.js
index <HASH>..<HASH> 100755
--- a/core/src/elements/ons-fab.js
+++ b/core/src/elements/ons-fab.js
@@ -72,6 +72,13 @@ export default class FabElement extends BaseElement {
    */
 
   init() {
+    // The following statements can be executed before contentReady
+    // since these do not access the children
+    {
+      this.show();
+      this.classList.add(defaultClassName);
+    }
+
     contentReady(this, () => {
       this._compile();
     });
@@ -80,8 +87,6 @@ export default class FabElement extends BaseElement {
   _compile() {
     autoStyle.prepare(this);
 
-    this.classList.add(defaultClassName);
-
     if (!util.findChild(this, '.fab__icon')) {
       const content = document.createElement('span');
       content.classList.add('fab__icon');
@@ -99,8 +104,6 @@ export default class FabElement extends BaseElement {
     ModifierUtil.initModifier(this, scheme);
 
     this._updatePosition();
-
-    this.show();
   }
 
   static get observedAttributes() {
fix(ons-fab): Execute this.show() and some statements before contentReady.