diff --git a/log.cabal b/log.cabal
--- a/log.cabal
+++ b/log.cabal
@@ -1,5 +1,5 @@
 name:                log
-version:             0.5.5
+version:             0.5.6
 synopsis:            Structured logging solution with multiple backends
 
 description:         A library that provides a way to record structured
@@ -47,9 +47,8 @@
                        aeson >=0.6.2.0,
                        aeson-pretty >=0.8.2,
                        base64-bytestring,
-                       bloodhound,
+                       bloodhound >= 0.11.1,
                        bytestring,
-                       cond,
                        deepseq,
                        exceptions >=0.6,
                        hpqtypes >=1.5,
@@ -63,7 +62,7 @@
                        split,
                        stm >=2.4,
                        text,
-                       text-show,
+                       text-show >= 2,
                        time >= 1.5,
                        transformers,
                        transformers-base,
diff --git a/src/Log/Backend/ElasticSearch.hs b/src/Log/Backend/ElasticSearch.hs
--- a/src/Log/Backend/ElasticSearch.hs
+++ b/src/Log/Backend/ElasticSearch.hs
@@ -10,7 +10,6 @@
 import Control.Applicative
 import Control.Arrow (second)
 import Control.Concurrent
-import Control.Conditional (unlessM)
 import Control.Exception
 import Control.Monad
 import Control.Monad.IO.Class
@@ -102,7 +101,8 @@
         -- There is an obvious race condition in the presence of more than one
         -- logger instance running, but it's irrelevant as attempting to create
         -- index that already exists is harmless.
-        unlessM (indexExists index) $ do
+        indexExists' <- indexExists index
+        unless indexExists' $ do
           -- Bloodhound is weird and won't let us create index using default
           -- settings, so pass these as the default ones.
           let indexSettings = IndexSettings {
