diff --git a/packages/enzyme/src/ShallowWrapper.js b/packages/enzyme/src/ShallowWrapper.js
index <HASH>..<HASH> 100644
--- a/packages/enzyme/src/ShallowWrapper.js
+++ b/packages/enzyme/src/ShallowWrapper.js
@@ -176,15 +176,6 @@ class ShallowWrapper {
       privateSet(this, RENDERER, renderer);
       this[RENDERER].render(nodes, options.context);
       ({ instance } = this[RENDERER].getNode());
-      if (
-        !options.disableLifecycleMethods
-        && instance
-        && typeof instance.componentDidMount === 'function'
-      ) {
-        this[RENDERER].batchedUpdates(() => {
-          instance.componentDidMount();
-        });
-      }
       privateSetNodes(this, getRootNode(this[RENDERER].getNode()));
     } else {
       privateSet(this, ROOT, root);
@@ -202,6 +193,16 @@ class ShallowWrapper {
       privateSet(instance, SET_STATE, instance.setState);
       instance.setState = (...args) => this.setState(...args);
     }
+
+    if (
+      !options.disableLifecycleMethods
+      && instance
+      && typeof instance.componentDidMount === 'function'
+    ) {
+      this[RENDERER].batchedUpdates(() => {
+        instance.componentDidMount();
+      });
+    }
   }
 
   /**
call cDM after setState is stubbed