diff --git a/Data/Yaml.hs b/Data/Yaml.hs
--- a/Data/Yaml.hs
+++ b/Data/Yaml.hs
@@ -182,6 +182,7 @@
                     | InvalidYaml (Maybe YamlException)
                     | AesonException String
                     | OtherParseException SomeException
+                    | NonStringKeyAlias Y.AnchorName Value
     deriving (Show, Typeable)
 instance Exception ParseException
 
@@ -302,6 +303,12 @@
             CL.drop 1
             s <- case me of
                     Just (EventScalar v tag style a') -> parseScalar v a' style tag
+                    Just (EventAlias an) -> do
+                        m <- lift get
+                        case Map.lookup an m of
+                            Nothing -> liftIO $ throwIO $ UnknownAlias an
+                            Just (String t) -> return t
+                            Just v -> liftIO $ throwIO $ NonStringKeyAlias an v
                     _ -> liftIO $ throwIO $ UnexpectedEvent me Nothing
             o <- parseO
 
diff --git a/test/main.hs b/test/main.hs
--- a/test/main.hs
+++ b/test/main.hs
@@ -127,7 +127,9 @@
              in D.decode (D.encode v) `shouldBe` Just v
         it "no tags" $ D.encode (object ["word" .= ("true" :: String)]) `shouldBe` "word: 'true'\n"
 
+    it "aliases in keys #49" caseIssue49
 
+
 specialStrings :: [T.Text]
 specialStrings =
     [ "fo\"o"
@@ -425,3 +427,12 @@
         ])
   where
     src = "Default: &def\n  foo: 1\n  bar: 2\nObj:\n  <<: *def\n  key: 3\n"
+
+caseIssue49 :: Assertion
+caseIssue49 =
+    D.decodeEither src @?= Right (object
+        [ "a" .= object [ "value" .= (1.0 :: Double) ]
+        , "b" .= object [ "value" .= (1.2 :: Double) ]
+        ])
+  where
+    src = "---\na:\n  &id5 value: 1.0\nb:\n  *id5: 1.2"
diff --git a/yaml.cabal b/yaml.cabal
--- a/yaml.cabal
+++ b/yaml.cabal
@@ -1,5 +1,5 @@
 name:            yaml
-version:         0.8.9.2
+version:         0.8.9.3
 license:         BSD3
 license-file:    LICENSE
 author:          Michael Snoyman <michael@snoyman.com>, Anton Ageev <antage@gmail.com>,Kirill Simonov 
