diff --git a/Clckwrks/Page/Admin/EditPage.hs b/Clckwrks/Page/Admin/EditPage.hs
--- a/Clckwrks/Page/Admin/EditPage.hs
+++ b/Clckwrks/Page/Admin/EditPage.hs
@@ -57,7 +57,7 @@
         (,,,,,,)
                 <$> (divControlGroup (label' "Page Type"       ++> (divControls $ select [(PlainPage, ("page" :: Text)), (Post, "post")] (== (pageKind page)))))
 --                <*> (divControlGroup (label' "Theme Style"     ++> (divControls $ ThemeStyleId <$> (select styles (const True)) `transform` (decimal (const PageErrorInternal)))))
-                <*> (divControlGroup (label' "Theme Style"     ++> (divControls $ select styles (== (fst $ head styles)))))
+                <*> (divControlGroup (label' "Theme Style"     ++> (divControls $ select styles (== (pageThemeStyleId page)))))
                 <*> (divControlGroup (label' "Title"           ++> (divControls $ inputText (pageTitle page) `setAttrs` [("size" := "80"), ("class" := "input-xxlarge") :: Attr Text Text])))
                 <*> (divControlGroup (label' "Slug (optional)" ++> (divControls $ inputText (maybe Text.empty unSlug $ pageSlug page) `setAttrs` [("size" := "80"), ("class" := "input-xxlarge")  :: Attr Text Text])))
                 <*> divControlGroup (label' "Markdown processor" ++> (divControls $ select [(Pandoc, "Pandoc"), (Markdown, "markdown perl script (legacy)" :: Text), (HsColour, "markdown perl script + hscolour (legacy)")] (\p -> p `elem` (preProcessors $ pageSrc page))))
diff --git a/Clckwrks/Page/Monad.hs b/Clckwrks/Page/Monad.hs
--- a/Clckwrks/Page/Monad.hs
+++ b/Clckwrks/Page/Monad.hs
@@ -117,7 +117,7 @@
     do clckState <- get
        transformers <- getPreProcessors (plugins clckState)
        (Just clckRouteFn) <- getPluginRouteFn (plugins clckState) (pluginName clckPlugin)
-       (markup', clckState') <- liftIO $ runClckT clckRouteFn clckState (foldM (\txt pp -> pp txt) (TL.fromStrict markup) transformers)
+       (markup', clckState') <- runClckT clckRouteFn clckState (foldM (\txt pp -> pp txt) (TL.fromStrict markup) transformers)
        put clckState'
        e <- liftIO $ runPreProcessors preProcessors trust (TL.toStrict markup')
        case e of
diff --git a/clckwrks-plugin-page.cabal b/clckwrks-plugin-page.cabal
--- a/clckwrks-plugin-page.cabal
+++ b/clckwrks-plugin-page.cabal
@@ -1,5 +1,5 @@
 name:                clckwrks-plugin-page
-version:             0.4.3.5
+version:             0.4.3.7
 synopsis:            support for CMS/Blogging in clckwrks
 description:         This provides two similar concepts Pages and Posts. Both allow
                      you to create page content by editting pages in the browser. A Post
@@ -45,7 +45,7 @@
                        acid-state             >= 0.12 && < 0.15,
                        aeson                  (>= 0.4  && < 0.10) || (>= 0.11 && < 1.1),
                        attoparsec             >= 0.10 && < 0.14,
-                       clckwrks               >= 0.21 && < 0.24,
+                       clckwrks               >= 0.24 && < 0.25,
                        containers             >= 0.4  && < 0.6,
                        directory              >= 1.1  && < 1.3,
                        filepath               >= 1.2  && < 1.5,
