diff --git a/legion-extra.cabal b/legion-extra.cabal
--- a/legion-extra.cabal
+++ b/legion-extra.cabal
@@ -1,5 +1,5 @@
 name:                legion-extra
-version:             0.1.0.2
+version:             0.1.0.3
 synopsis:            Extra non-essential utilities for building legion applications.
 description:         Please see README.md
 homepage:            https://github.com/owensmurray/legion-extra#readme
diff --git a/src/Network/Legion/Config.hs b/src/Network/Legion/Config.hs
--- a/src/Network/Legion/Config.hs
+++ b/src/Network/Legion/Config.hs
@@ -37,11 +37,12 @@
   parseArgs
 ) where
 
-import Data.Aeson (FromJSON, Value(Object), (.:), parseJSON, eitherDecode)
+import Data.Aeson (FromJSON, Value(Object), (.:), parseJSON)
 import Data.Default.Class (Default(def))
 import Data.List (intercalate)
 import Data.List.Split (splitOn)
 import Data.String (fromString)
+import Data.Yaml (decodeEither)
 import Network.Legion (StartupMode(JoinCluster, NewCluster),
   RuntimeSettings(RuntimeSettings))
 import Network.Socket (SockAddr, addrAddress, getAddrInfo)
@@ -50,7 +51,6 @@
   ArgOrder(Permute), ArgDescr(ReqArg))
 import System.Environment (getArgs, getProgName)
 import qualified Data.ByteString as BS
-import qualified Data.ByteString.Lazy as LBS
 
 
 {- | Parse the command line arguments.  -}
@@ -69,8 +69,8 @@
               configFail m = fail $
                 "Couldn't decode YAML config from file "
                 ++ configFile ++ ": " ++ show m
-            c <- LBS.fromStrict <$> BS.readFile configFile
-            case (eitherDecode c, eitherDecode c) of
+            c <- BS.readFile configFile
+            case (decodeEither c, decodeEither c) of
               (Left errMsg, _) -> configFail errMsg
               (_, Left errMsg) -> configFail errMsg
               (Right runtimeConfig, Right userConfig) -> do
