diff --git a/bench/Bench.hs b/bench/Bench.hs
deleted file mode 100644
--- a/bench/Bench.hs
+++ /dev/null
@@ -1,40 +0,0 @@
-import qualified Text.Pandoc as Pandoc
-import qualified Cheapskate as Cheapskate
-import qualified Cheapskate.Html as CheapskateHtml
-import qualified CMark as CMark
-import qualified Text.Sundown.Html.Text as Sundown
-import qualified Text.Discount as Discount
-import qualified Text.Blaze.Html.Renderer.Text as Blaze
-import qualified Text.Markdown as Markdown
-import Data.Text (Text)
-import Data.Text as T
-import Data.Text.Lazy (fromChunks, toChunks)
-import Data.Text.IO as T
-import Criterion.Main
-import Criterion.Config
-import System.Environment (getArgs)
-
-main :: IO ()
-main = do
-  args <- getArgs
-  (conf,_) <- parseArgs defaultConfig defaultOptions args
-  sample <- T.readFile "bench/sample.md"
-  defaultMainWith conf (return ()) [
-      mkBench "cmark" (CMark.commonmarkToHtml []) sample
-    , mkBench "cheapskate" (T.concat . toChunks . Blaze.renderHtml . CheapskateHtml.renderDoc . Cheapskate.markdown Cheapskate.def) sample
-    , mkBench "discount" (Discount.parseMarkdownUtf8 []) sample
-    , mkBench "pandoc" (T.concat . toChunks . Blaze.renderHtml . Pandoc.writeHtml Pandoc.def . Pandoc.readMarkdown Pandoc.def . T.unpack) sample
-    , mkBench "markdown" (T.concat . toChunks . Blaze.renderHtml . Markdown.markdown Markdown.def . fromChunks . (:[])) sample
-    ]
-
--- Note: when full-sample.md rather than sample.md is used, pandoc and markdown
--- hang (> 1 minute).
-
--- even with sample.md, sundown gives this error
--- , mkBench "sundown" (Sundown.renderHtml Sundown.noExtensions Sundown.noHtmlModes False Nothing) sample
--- bench-cmark(50437,0x7fff7bfbe310) malloc: *** error for object 0x7ffde3d00928: incorrect checksum for freed object - object was probably modified after being freed.
---  *** set a breakpoint in malloc_error_break to debug
-
-mkBench :: String -> (Text -> Text) -> Text -> Benchmark
-mkBench name converter inp =
-  bench name $ nf converter inp
diff --git a/bench/bench-cmark.hs b/bench/bench-cmark.hs
new file mode 100644
--- /dev/null
+++ b/bench/bench-cmark.hs
@@ -0,0 +1,36 @@
+import qualified Cheapskate as Cheapskate
+import qualified Cheapskate.Html as CheapskateHtml
+import qualified CMark as CMark
+import qualified Text.Sundown.Html.Text as Sundown
+import qualified Text.Discount as Discount
+import qualified Text.Blaze.Html.Renderer.Text as Blaze
+import qualified Text.Markdown as Markdown
+import Data.Text (Text)
+import Data.Text as T
+import Data.Text.Lazy (fromChunks, toChunks)
+import Data.Text.IO as T
+import Criterion.Main
+import Criterion.Monad
+import System.Environment (getArgs)
+
+main :: IO ()
+main = do
+  sample <- T.readFile "bench/sample.md"
+  defaultMain [
+      mkBench "cheapskate" (T.concat . toChunks . Blaze.renderHtml . CheapskateHtml.renderDoc . Cheapskate.markdown Cheapskate.def) sample
+    , mkBench "discount" (Discount.parseMarkdownUtf8 []) sample
+    , mkBench "markdown" (T.concat . toChunks . Blaze.renderHtml . Markdown.markdown Markdown.def . fromChunks . (:[])) sample
+    , mkBench "cmark" (CMark.commonmarkToHtml []) sample
+     ]
+
+-- Note: when full-sample.md rather than sample.md is used markdown
+-- hangs (> 1 minute).
+
+-- even with sample.md, sundown gives this error
+-- , mkBench "sundown" (Sundown.renderHtml Sundown.noExtensions Sundown.noHtmlModes False Nothing) sample
+-- bench-cmark(50437,0x7fff7bfbe310) malloc: *** error for object 0x7ffde3d00928: incorrect checksum for freed object - object was probably modified after being freed.
+--  *** set a breakpoint in malloc_error_break to debug
+
+mkBench :: String -> (Text -> Text) -> Text -> Benchmark
+mkBench name converter inp =
+  bench name $ nf converter inp
diff --git a/changelog b/changelog
--- a/changelog
+++ b/changelog
@@ -1,3 +1,8 @@
+cmark 0.3.3.1 (28 May 2015)
+
+  * Changed name Bench.hs -> bench-cmark.hs.
+  * Benchmark:  don't benchmark pandoc (circular dependency).
+
 cmark 0.3.3 (26 May 2015)
 
   * Added `nodeToHtml`, `nodeToMan`, `nodeToXml`.
diff --git a/cmark.cabal b/cmark.cabal
--- a/cmark.cabal
+++ b/cmark.cabal
@@ -1,5 +1,5 @@
 name:                cmark
-version:             0.3.3
+version:             0.3.3.1
 synopsis:            Fast, accurate CommonMark (Markdown) parser and renderer
 description:
   This package provides Haskell bindings for
@@ -148,14 +148,13 @@
 benchmark bench-cmark
   type:             exitcode-stdio-1.0
   hs-source-dirs:   bench
-  main-is:          Bench.hs
-  build-depends:    base, text, criterion, cmark,
+  main-is:          bench-cmark.hs
+  build-depends:    base, text, cmark, criterion,
                     sundown >= 0.6 && < 0.7,
-                    pandoc >= 1.13.2 && < 1.14,
                     cheapskate >= 0.1 && < 0.2,
                     markdown >= 0.1 && < 0.2,
                     discount >= 0.1 && < 0.2,
-                    blaze-html >= 0.7 && < 0.8
+                    blaze-html >= 0.7 && < 0.9
   ghc-options:      -O2
   default-language: Haskell2010
 
