diff --git a/CHANGELOG.markdown b/CHANGELOG.markdown
--- a/CHANGELOG.markdown
+++ b/CHANGELOG.markdown
@@ -1,3 +1,8 @@
+1.6.1
+=====
+
+  * Fixed another parser problem (https://github.com/supki/aeson-match-qq/pull/27)
+
 1.6.0
 =====
 
diff --git a/aeson-match-qq.cabal b/aeson-match-qq.cabal
--- a/aeson-match-qq.cabal
+++ b/aeson-match-qq.cabal
@@ -5,7 +5,7 @@
 -- see: https://github.com/sol/hpack
 
 name:           aeson-match-qq
-version:        1.6.0
+version:        1.6.1
 synopsis:       Declarative JSON matchers.
 description:    See README.markdown
 category:       Web
diff --git a/src/Aeson/Match/QQ/Internal/Parse.hs b/src/Aeson/Match/QQ/Internal/Parse.hs
--- a/src/Aeson/Match/QQ/Internal/Parse.hs
+++ b/src/Aeson/Match/QQ/Internal/Parse.hs
@@ -193,8 +193,18 @@
 
 key :: Atto.Parser Text
 key =
-  Aeson.jstring <|>
-    fmap (Text.decodeUtf8 . ByteString.pack) (Atto.many1 (Atto.satisfy (\c -> Char.chr (fromIntegral c) `notElem` ("\\ \":;><${}[]," :: String))))
+  Aeson.jstring <|> bareKey
+
+bareKey :: Atto.Parser Text
+bareKey =
+  fmap
+    (Text.decodeUtf8 . ByteString.pack)
+    (Atto.many1
+      (Atto.satisfy
+        (p . Char.chr . fromIntegral)))
+ where
+  p c =
+    not (Char.isSpace c || c `elem` ("\\\":;><${}[],#" :: String))
 
 rest :: Atto.Parser ()
 rest =
diff --git a/test/Aeson/Match/QQSpec.hs b/test/Aeson/Match/QQSpec.hs
--- a/test/Aeson/Match/QQSpec.hs
+++ b/test/Aeson/Match/QQSpec.hs
@@ -125,9 +125,18 @@
           , given = [aesonQQ| 7 |]
           })
 
-    it "named holes" $ do
-      match [qq| {foo: _hole} |] [aesonQQ| {foo: {bar: {baz: [1, 4]}}} |] `shouldBe`
-        pure (HashMap.singleton "hole" [aesonQQ| {bar: {baz: [1, 4]}} |])
+    context "named holes" $ do
+      it "matches" $
+        match [qq| {foo: _hole} |] [aesonQQ| {foo: {bar: {baz: [1, 4]}}} |] `shouldBe`
+          pure (HashMap.singleton "hole" [aesonQQ| {bar: {baz: [1, 4]}} |])
+
+      -- https://github.com/supki/aeson-match-qq/issues/26
+      it "#26" $
+        match [qq|
+          { foo: _hole
+          }
+        |] [aesonQQ| {foo: {bar: {baz: [1, 4]}}} |] `shouldBe`
+          pure (HashMap.singleton "hole" [aesonQQ| {bar: {baz: [1, 4]}} |])
 
     context "unordered array" $
       it "named holes" $ do
