diff --git a/CHANGES b/CHANGES
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,12 @@
+Version 0.10.3.1 released 19 Mar 2013
+
+*   Fixed filename encoding problem affecting caching,
+    for gitit compiled with GHC 7.4 or later.
+
+*   Fixed padding on some buttons (akerbos).
+
+*   Specify correct format in header for initial pages (benmachine).
+
 Version 0.10.3 released 09 Mar 2013
 
 *   Allow latest versions of pandoc, blaze-html, HStringTemplate.
diff --git a/Network/Gitit/Cache.hs b/Network/Gitit/Cache.hs
--- a/Network/Gitit/Cache.hs
+++ b/Network/Gitit/Cache.hs
@@ -38,7 +38,7 @@
 import Network.Gitit.Types
 import Control.Monad
 import Control.Monad.Trans (liftIO)
-import Codec.Binary.UTF8.String (encodeString)
+import Text.Pandoc.UTF8 (encodePath)
 
 -- | Expire a cached file, identified by its filename in the filestore.
 -- If there is an associated exported PDF, expire it too.
@@ -46,7 +46,7 @@
 expireCachedFile :: String -> GititServerPart ()
 expireCachedFile file = do
   cfg <- getConfig
-  let target = encodeString $ cacheDir cfg </> file
+  let target = encodePath $ cacheDir cfg </> file
   exists <- liftIO $ doesFileExist target
   when exists $ liftIO $ do
     liftIO $ removeFile target
@@ -62,7 +62,7 @@
 lookupCache :: String -> GititServerPart (Maybe (UTCTime, B.ByteString))
 lookupCache file = do
   cfg <- getConfig
-  let target = encodeString $ cacheDir cfg </> file
+  let target = encodePath $ cacheDir cfg </> file
   exists <- liftIO $ doesFileExist target
   if exists
      then liftIO $ do
@@ -79,7 +79,7 @@
 cacheContents :: String -> B.ByteString -> GititServerPart ()
 cacheContents file contents = do
   cfg <- getConfig
-  let target = encodeString $ cacheDir cfg </> file
+  let target = encodePath $ cacheDir cfg </> file
   let targetDir = takeDirectory target
   liftIO $ do
     createDirectoryIfMissing True targetDir
diff --git a/Network/Gitit/Initialize.hs b/Network/Gitit/Initialize.hs
--- a/Network/Gitit/Initialize.hs
+++ b/Network/Gitit/Initialize.hs
@@ -130,7 +130,7 @@
                                              else writerExtensions def
                      }
         -- note: we convert this (markdown) to the default page format
-        converter = case defaultPageType conf of
+        converter = case pt of
                        Markdown -> id
                        LaTeX    -> writeLaTeX defOpts . toPandoc
                        HTML     -> writeHtmlString defOpts . toPandoc
@@ -147,7 +147,9 @@
     usersguidepath <- getDataFileName "README.markdown"
     usersguidecontents <- liftM converter $ readFileUTF8 usersguidepath
     -- include header in case user changes default format:
-    let header = "---\nformat: markdown\n...\n\n"
+    let header = "---\nformat: " ++
+          show pt ++ (if defaultLHS conf then "+lhs" else "") ++
+          "\n...\n\n"
     -- add front page, help page, and user's guide
     let auth = Author "Gitit" ""
     createIfMissing fs (frontPage conf <.> "page") auth "Default front page"
diff --git a/Network/Gitit/Util.hs b/Network/Gitit/Util.hs
--- a/Network/Gitit/Util.hs
+++ b/Network/Gitit/Util.hs
@@ -33,23 +33,13 @@
 import System.IO.Error (isAlreadyExistsError)
 import Control.Monad.Trans (liftIO)
 import Data.Char (toLower)
-import Data.ByteString.Lazy.UTF8 (toString)
-import qualified Data.ByteString.Lazy as B
 import Network.Gitit.Types
 import qualified Control.Exception as E
-import Control.Monad (liftM)
-#if MIN_VERSION_base(4,5,0)
-#else
-import Codec.Binary.UTF8.String (encodeString)
-#endif
+import qualified Text.Pandoc.UTF8 as UTF8
 
 -- | Read file as UTF-8 string.  Encode filename as UTF-8.
 readFileUTF8 :: FilePath -> IO String
-#if MIN_VERSION_base(4,5,0)
-readFileUTF8 f = liftM toString $ B.readFile f
-#else
-readFileUTF8 f = liftM toString $ B.readFile $ encodeString f
-#endif
+readFileUTF8 = UTF8.readFile
 
 -- | Perform a function a directory and return to working directory.
 inDir :: FilePath -> IO a -> IO a
diff --git a/data/static/css/screen.css b/data/static/css/screen.css
--- a/data/static/css/screen.css
+++ b/data/static/css/screen.css
@@ -46,7 +46,7 @@
 sub { vertical-align: sub; }
 sub, sup { line-height: 0.3em; }
 p, fieldset, table, pre { margin-bottom: 1em; }
-button, input[type="checkbox"], input[type="radio"], input[type="reset"], input[type="submit"] { padding: 1px; }
+button, input[type="checkbox"], input[type="radio"], input[type="reset"], input[type="submit"], input[type="button"] { padding: 1px; }
 
 blockquote { padding: 0 1.6em; color: #666; }
 
diff --git a/gitit.cabal b/gitit.cabal
--- a/gitit.cabal
+++ b/gitit.cabal
@@ -1,5 +1,5 @@
 name:                gitit
-version:             0.10.3
+version:             0.10.3.1
 Cabal-version:       >= 1.6
 build-type:          Simple
 synopsis:            Wiki using happstack, git or darcs, and pandoc.
