diff --git a/doc/api/addons.md b/doc/api/addons.md
index f8f1272c72c068..09049e3dbd8477 100644
--- a/doc/api/addons.md
+++ b/doc/api/addons.md
@@ -1104,7 +1104,7 @@ Test in JavaScript by running:
 
 ```js
 // test.js
-const addon = require('./build/Release/addon');
+require('./build/Release/addon');
 ```
 
 [bindings]: https://github.com/TooTallNate/node-bindings
diff --git a/tools/doc/addon-verify.js b/tools/doc/addon-verify.js
index f681b0a90eb2a6..14953be66a6ce3 100644
--- a/tools/doc/addon-verify.js
+++ b/tools/doc/addon-verify.js
@@ -11,29 +11,29 @@ const verifyDir = path.resolve(rootDir, 'test', 'addons');
 const contents = fs.readFileSync(doc).toString();
 
 const tokens = marked.lexer(contents);
-let files = null;
 let id = 0;
 
-// Just to make sure that all examples will be processed
-tokens.push({ type: 'heading' });
-
-for (var i = 0; i < tokens.length; i++) {
-  var token = tokens[i];
+let currentHeader;
+const addons = {};
+tokens.forEach((token) => {
   if (token.type === 'heading' && token.text) {
-    const blockName = token.text;
-    if (files && Object.keys(files).length !== 0) {
-      verifyFiles(files,
-                  blockName,
-                  console.log.bind(null, 'wrote'),
-                  function(err) { if (err) throw err; });
-    }
-    files = {};
-  } else if (token.type === 'code') {
+    currentHeader = token.text;
+    addons[currentHeader] = {
+      files: {}
+    };
+  }
+  if (token.type === 'code') {
     var match = token.text.match(/^\/\/\s+(.*\.(?:cc|h|js))[\r\n]/);
-    if (match === null)
-      continue;
-    files[match[1]] = token.text;
+    if (match !== null) {
+      addons[currentHeader].files[match[1]] = token.text;
+    }
   }
+});
+for (var header in addons) {
+  verifyFiles(addons[header].files,
+              header,
+              console.log.bind(null, 'wrote'),
+              function(err) { if (err) throw err; });
 }
 
 function once(fn) {