diff --git a/test/fixtures/hdnode.json b/test/fixtures/hdnode.json
index 9697b8e..1352590 100644
--- a/test/fixtures/hdnode.json
+++ b/test/fixtures/hdnode.json
@@ -190,7 +190,21 @@
         "fingerprint": "1a87677b",
         "address": "KyDarNhq8WK8rSU36UY7bDv9MAwdpKFZYKPN89Geh2dUwHjTqVh5"
       },
-      "children": []
+      "children": [
+        {
+          "description": "m/44'/0'/0'/0/0'",
+          "wif": "L3z3MSqZtDQ1FPHKi7oWf1nc9rMEGFtZUDCoFa7n4F695g5qZiSu",
+          "pubKey": "027c3591221e28939e45f8ea297d62c3640ebb09d7058b01d09c963d984a40ad49",
+          "chainCode": "ca27553aa89617e982e621637d6478f564b32738f8bbe2e48d0a58a8e0f6da40",
+          "base58": "xpub6GcBnm7FfDg5ERWACCvtuotN6Tdoc37r3SZ1asBHvCWzPkqWn3MVKPWKzy6GsfmdMUGanR3D12dH1cp5tJauuubwc4FAJDn67SH2uUjwAT1",
+          "base58Priv": "xprvA3cqPFaMpr7n1wRh6BPtYfwdYRoKCaPzgDdQnUmgMrz1WxWNEW3EmbBr9ieh9BJAsRGKFPLvotb4p4Aq79jddUVKPVJt7exVzLHcv777JVf",
+          "identifier": "e371d69b5dae6eacee832a130ee9f55545275a09",
+          "fingerprint": "e371d69b",
+          "address": "1MjcmArHeqorgm9uJi4kPNQ6CbsrmCtASH",
+          "index": 2147483648,
+          "depth": 5
+        }
+      ]
     },
     {
       "network": "litecoin",
diff --git a/test/hdnode.js b/test/hdnode.js
index 97a7cfc..905038e 100644
--- a/test/hdnode.js
+++ b/test/hdnode.js
@@ -247,6 +247,16 @@ describe('HDNode', function () {
 
   describe('derive', function () {
     function verifyVector (hd, v, depth) {
+      if (hd.isNeutered()) {
+        assert.strictEqual(hd.toBase58(), v.base58)
+      } else {
+        assert.strictEqual(hd.neutered().toBase58(), v.base58)
+        assert.strictEqual(hd.toBase58(), v.base58Priv)
+      }
+
+      assert.strictEqual(hd.getFingerprint().toString('hex'), v.fingerprint)
+      assert.strictEqual(hd.getIdentifier().toString('hex'), v.identifier)
+      assert.strictEqual(hd.getAddress(), v.address)
       assert.strictEqual(hd.keyPair.toWIF(), v.wif)
       assert.strictEqual(hd.keyPair.getPublicKeyBuffer().toString('hex'), v.pubKey)
       assert.strictEqual(hd.chainCode.toString('hex'), v.chainCode)
@@ -259,19 +269,6 @@ describe('HDNode', function () {
       var hd = HDNode.fromSeedHex(f.master.seed, network)
       var master = hd
 
-      // FIXME: test data is only testing Private -> private for now
-      f.children.forEach(function (c, i) {
-        it(c.description + ' from ' + f.master.fingerprint, function () {
-          if (c.hardened) {
-            hd = hd.deriveHardened(c.m)
-          } else {
-            hd = hd.derive(c.m)
-          }
-
-          verifyVector(hd, c, i + 1)
-        })
-      })
-
       // testing deriving path from master
       f.children.forEach(function (c) {
         it(c.description + ' from ' + f.master.fingerprint + ' by path', function () {
@@ -279,8 +276,8 @@ describe('HDNode', function () {
           var child = master.derivePath(path)
 
           var pathSplit = path.split('/').slice(1)
-          var pathNotM = pathSplit.join('/')
-          var childNotM = master.derivePath(pathNotM)
+          var pathNoM = pathSplit.join('/')
+          var childNotM = master.derivePath(pathNoM)
 
           verifyVector(child, c, pathSplit.length)
           verifyVector(childNotM, c, pathSplit.length)
@@ -307,6 +304,21 @@ describe('HDNode', function () {
           })
         })
       })
+
+      // FIXME: test data is only testing Private -> private for now
+      f.children.forEach(function (c, i) {
+        if (c.m === undefined) return
+
+        it(c.description + ' from ' + f.master.fingerprint, function () {
+          if (c.hardened) {
+            hd = hd.deriveHardened(c.m)
+          } else {
+            hd = hd.derive(c.m)
+          }
+
+          verifyVector(hd, c, i + 1)
+        })
+      })
     })
 
     it('works for Private -> public (neutered)', function () {