diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,8 @@
+#### 0.4.2 (2018-9-3)
+
+  * Fix bug that made tests fail on systems without docker;
+  * Remove some unused dependencies found by the weeder tool.
+
 #### 0.4.1 (2018-8-31)
 
   * Minor fixes release:
diff --git a/quickcheck-state-machine.cabal b/quickcheck-state-machine.cabal
--- a/quickcheck-state-machine.cabal
+++ b/quickcheck-state-machine.cabal
@@ -1,6 +1,6 @@
 cabal-version: >=1.10
 name: quickcheck-state-machine
-version: 0.4.1
+version: 0.4.2
 license: BSD3
 license-file: LICENSE
 copyright: Copyright (C) 2017-2018, ATS Advanced Telematic Systems GmbH;
@@ -49,18 +49,15 @@
                  -Wno-missing-local-signatures -Wno-monomorphism-restriction
     build-depends:
         ansi-wl-pprint >=0.6.7.3,
-        async >=2.1.1.1,
         base >=4.7 && <5,
         containers >=0.5.7.1,
         exceptions >=0.8.3,
         lifted-async >=0.9.3,
-        lifted-base >=0.2.3.11,
         matrix >=0.3.5.0,
         monad-control >=1.0.2.2,
         mtl >=2.2.1,
         pretty-show >=1.7,
         QuickCheck >=2.9.2,
-        random >=1.1,
         split >=0.2.3.3,
         stm >=2.4.4.1,
         tree-diff >=0.0.1,
diff --git a/test/Spec.hs b/test/Spec.hs
--- a/test/Spec.hs
+++ b/test/Spec.hs
@@ -1,5 +1,9 @@
+{-# LANGUAGE ScopedTypeVariables #-}
+
 module Main (main) where
 
+import           Control.Exception
+                   (catch)
 import           Prelude
 import           System.Exit
                    (ExitCode(..))
@@ -54,7 +58,7 @@
       , testProperty "`unpropFullIsEmpty`: the second bug is found"
           (expectFailure unpropFullIsEmpty)
       , testProperty "`unpropBadRem`: the third bug is found"
-          (expectFailure unpropBadRem)
+          (expectFailure (withMaxSuccess 1000 unpropBadRem))
       , testProperty "`unpropStillBadRem`: the fourth bug is found"
           (expectFailure unpropStillBadRem)
       , testProperty "`prop_circularBuffer`: the fixed version is correct"
@@ -83,6 +87,7 @@
 main = do
   -- Check if docker is avaiable.
   ec <- rawSystem "docker" ["version"]
+          `catch` (\(_ :: IOError) -> return (ExitFailure 127))
   let docker = case ec of
                  ExitSuccess   -> True
                  ExitFailure _ -> False
