diff --git a/Changelog.md b/Changelog.md
--- a/Changelog.md
+++ b/Changelog.md
@@ -1,3 +1,7 @@
+# 0.1.2.3
+
+- Remove internal ‘test-utils’ library which wasn’t supposed to be used by clients anyway but was confusing cabal dependency resolution
+
 # 0.1.2.2
 
 - Lower minimum supported GHC to 8.6 and base to 4.12
diff --git a/atomic-counter.cabal b/atomic-counter.cabal
--- a/atomic-counter.cabal
+++ b/atomic-counter.cabal
@@ -5,7 +5,7 @@
 name:
   atomic-counter
 version:
-  0.1.2.2
+  0.1.2.3
 synopsis:
   Mutable counters that can be modified with atomic operatinos
 
@@ -126,34 +126,24 @@
       ghc-options:
         -dcmm-lint
 
-library test-utils
-  import: ghc-options
-  visibility:
-    private
-  exposed-modules:
-    TestUtils
-  hs-source-dirs:
-    test
-  build-depends:
-    , QuickCheck
-    , async >= 2
-    , base >= 4.12 && < 5
-
 test-suite test
   import: ghc-options
   type:
     exitcode-stdio-1.0
   main-is:
     test/TestMain.hs
+  other-modules:
+    TestUtils
   hs-source-dirs:
     .
+    test
   build-depends:
     , QuickCheck
+    , async >= 2
     , atomic-counter
     , base >= 4.12
     , tasty
     , tasty-quickcheck
-    , atomic-counter:test-utils
   ghc-options:
     -rtsopts
     -threaded
@@ -166,10 +156,14 @@
     exitcode-stdio-1.0
   main-is:
     bench/BenchMain.hs
+  other-modules:
+    TestUtils
   hs-source-dirs:
     .
+    test
   build-depends:
     , QuickCheck
+    , async >= 2
     , atomic-counter
     , base >= 4.12
     , primitive
@@ -177,7 +171,6 @@
     , tasty >= 1.4.2
     , tasty-bench >= 0.3.4
     , tasty-quickcheck
-    , atomic-counter:test-utils
   ghc-options:
     -rtsopts
     -threaded
