diff --git a/language-vhdl.cabal b/language-vhdl.cabal
--- a/language-vhdl.cabal
+++ b/language-vhdl.cabal
@@ -2,7 +2,7 @@
 -- documentation, see http://haskell.org/cabal/users-guide/
 
 name:                language-vhdl
-version:             0.1.2.6
+version:             0.1.2.8
 synopsis:            VHDL AST and pretty printer in Haskell.
 -- description:         
 license:             BSD3
diff --git a/src/Language/VHDL/Pretty.hs b/src/Language/VHDL/Pretty.hs
--- a/src/Language/VHDL/Pretty.hs
+++ b/src/Language/VHDL/Pretty.hs
@@ -105,7 +105,7 @@
   pp (AssociationElement f a) = condR (text "=>") f <+> pp a
 
 instance Pretty AssociationList where
-  pp (AssociationList as) = commaSep $ map pp as
+  pp (AssociationList as) = vcat $ punctuate comma $ map pp as
 
 instance Pretty AttributeDeclaration where
   pp (AttributeDeclaration i t) = text "ATTRIBUTE" <+> pp i <+> colon <+> pp t <+> semi
@@ -203,7 +203,8 @@
 
 instance Pretty CaseStatementAlternative where
   pp (CaseStatementAlternative c ss) =
-    text "WHEN" <+> pp c <+> text "=>" `hangs` pp ss
+    vcat [ text "WHEN" <+> pp c <+> text "=>"
+         , indent $ vcat $ map pp ss]
 
 instance Pretty CharacterLiteral where
   pp (CLit c) = char c
