diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,11 @@
 # Change log
 
+## Version 0.7.0 (PENDING)
+
+
+## Version 0.6.1
+- Fix a mistake in anewarray
+
 ## Version 0.6.0
 - Add Annotations
 
diff --git a/jvm-binary.cabal b/jvm-binary.cabal
--- a/jvm-binary.cabal
+++ b/jvm-binary.cabal
@@ -4,10 +4,10 @@
 --
 -- see: https://github.com/sol/hpack
 --
--- hash: ab8fcc898f0e79144b2d18c7b74d169753e038db47b3648aca3c7a76a9418494
+-- hash: 17d1d11b12a950bbd9f3da13a3c7afa3e69c6e165b50365e4a0aff52bc3fe075
 
 name:           jvm-binary
-version:        0.6.0
+version:        0.6.1
 synopsis:       A library for reading Java class-files
 description:    A library for reading Java class-files.
 category:       Language, Java, JVM
diff --git a/package.yaml b/package.yaml
--- a/package.yaml
+++ b/package.yaml
@@ -1,5 +1,5 @@
 name: jvm-binary
-version: '0.6.0'
+version: '0.6.1'
 author: Christian Gram Kalhauge
 maintainer: Christian Gram Kalhauge <kalhauge@cs.ucla.edu>
 synopsis: A library for reading Java class-files
diff --git a/src/Language/JVM/ByteCode.hs b/src/Language/JVM/ByteCode.hs
--- a/src/Language/JVM/ByteCode.hs
+++ b/src/Language/JVM/ByteCode.hs
@@ -233,13 +233,16 @@
 evolveRefType :: EvolveM m => RefType Low -> m JRefType
 evolveRefType = \case
   ArrayBaseType bt -> return $ JTArray (JTBase bt)
+  Reference m 1 -> JTArray . JTRef . JTClass <$> link m
   Reference m _ -> link m
 
 devolveRefType :: DevolveM m => JRefType -> m (RefType Low)
 devolveRefType  = \case
   JTArray (JTBase bt) -> return $ ArrayBaseType bt
-  c -> flip Reference (fromIntegral $ refTypeDepth c) <$> unlink c
-
+  JTArray (JTRef (JTClass bt)) ->
+    flip Reference 1 <$> unlink bt
+  c ->
+    flip Reference (fromIntegral $ refTypeDepth c) <$> unlink c
 
 evolveByteCodeInst ::
   EvolveM m
diff --git a/test/Language/JVM/ConstantSpec.hs b/test/Language/JVM/ConstantSpec.hs
--- a/test/Language/JVM/ConstantSpec.hs
+++ b/test/Language/JVM/ConstantSpec.hs
@@ -33,9 +33,13 @@
     a' `shouldBe` (CMethodRef (InClass 2 5))
 
     let cp' = bootstrapConstantPool cp
-    cp' `shouldBe` Right (fromConstants
-                          [ CString "class/Name", CClassRef "class/Name", CString "method"
-                          , CString "()V", CNameAndType "method" "()V"])
+    cp' `shouldBe` Right
+      (fromConstants
+       [ CString "class/Name"
+       , CClassRef "class/Name"
+       , CString "method"
+       , CString "()V", CNameAndType "method" "()V"
+       ])
 
     let Right cp'' = cp'
     runEvolve (EvolveConfig [] cp'' (const True)) (evolve a') `shouldBe` Right a
diff --git a/test/Language/JVMSpec.hs b/test/Language/JVMSpec.hs
--- a/test/Language/JVMSpec.hs
+++ b/test/Language/JVMSpec.hs
@@ -48,6 +48,8 @@
         Left msg ->
           fail $ show msg
 
+  spec_reading_classfile
+
   describe "the standard library" $ do
     runIO (lookupEnv "JAVA_HOME") >>= \case
       Just home -> do
@@ -85,9 +87,8 @@
               Left msg ->
                 fail $ show msg
       Nothing -> do
-        fail $ "Expecting JAVA_HOME to be set"
+        runIO $ putStrLn "Expecting JAVA_HOME to be set"
 
-  -- spec_reading_classfile
 
 spec_reading_classfile :: Spec
 spec_reading_classfile = testAllFiles $ \bs -> do
@@ -154,7 +155,7 @@
     --   devolveClassFile' (cConstantPool cls) x `shouldMatchClass'` cls
 
     it "can do full read - write - read process" $ do
-      let w  = writeClassFile' (cConstantPool cls) x
+      let w  = writeClassFile x
       let y' = readClassFile w
       y' `shouldSatisfy` isRight
       let Right y = y'
