diff --git a/changelog.md b/changelog.md
--- a/changelog.md
+++ b/changelog.md
@@ -1,5 +1,9 @@
 # Revision history for waargonaut
 
+## 0.2.0.1  -- 2018-11-07
+
+* Update `moveToKey` to record a successful movement to a key, before continuing
+
 ## 0.2.0.0  -- 2018-11-06
 
 * Provide more precise errors from Decoder for missing or invalid keys
diff --git a/src/Waargonaut.hs b/src/Waargonaut.hs
--- a/src/Waargonaut.hs
+++ b/src/Waargonaut.hs
@@ -81,7 +81,7 @@
 --   o     <- D.down c
 --   name  <- D.fromKey "name" D.text o
 --   age   <- D.fromKey "age" D.int o
---   addr  <- D.fromKey "age" D.text o
+--   addr  <- D.fromKey "address" D.text o
 --   lotto <- D.fromKey "numbers" (D.list D.int) o
 --   pure $ Person name age addr lotto
 -- @
diff --git a/src/Waargonaut/Decode.hs b/src/Waargonaut/Decode.hs
--- a/src/Waargonaut/Decode.hs
+++ b/src/Waargonaut/Decode.hs
@@ -430,7 +430,7 @@
   -- Are we at the key we want to be at ?
   if k' == k
     -- Then move into the THING at the key
-    then moveRight1 c
+    then recordRank (DAt k) c >> moveRight1 c
     -- Try jump to the next key index
     else ( DI.try (moveRightN 2 c) <!?> (_KeyNotFound # k) ) >>= moveToKey k
 
diff --git a/waargonaut.cabal b/waargonaut.cabal
--- a/waargonaut.cabal
+++ b/waargonaut.cabal
@@ -10,7 +10,7 @@
 -- PVP summary:      +-+------- breaking API changes
 --                   | | +----- non-breaking API additions
 --                   | | | +--- code changes with no API change
-version:             0.2.0.0
+version:             0.2.0.1
 
 -- A short (one-line) description of the package.
 synopsis:            JSON wrangling
