diff --git a/lib/index.js b/lib/index.js
index <HASH>..<HASH> 100644
--- a/lib/index.js
+++ b/lib/index.js
@@ -123,7 +123,12 @@ PostHTML.prototype.process = function (tree, options) {
   // async mode
   var i = 0
 
+  Api.context = tree
+
   var next = function (result, cb) {
+    // (re)extend the object
+    Api.call(result)
+
     // all plugins called
     if (this.plugins.length <= i) {
       cb(null, result)
@@ -135,11 +140,6 @@ PostHTML.prototype.process = function (tree, options) {
       return next(res || result, cb)
     }
 
-    // (re)extend the object
-    if (result.extendApi === undefined) {
-      Api.call(result)
-    }
-
     // call next
     var plugin = this.plugins[i++]
perf(index): set the previous tree as the context value for api