diff --git a/stub/ghc-debug-stub.cabal b/stub/ghc-debug-stub.cabal
index 73cf65c8b311d9c89938c081f77ba519bcf29ced..d1b90336d3dbc14c6fe80661b258eade979a0745 100644
--- a/stub/ghc-debug-stub.cabal
+++ b/stub/ghc-debug-stub.cabal
@@ -31,7 +31,10 @@ library
   default-language:    Haskell2010
   cxx-sources:         cbits/stub.cpp, cbits/socket.cpp, cbits/trace.cpp
   cxx-options:         -std=gnu++11 -pthread -O3 -g3 -DTHREADED_RTS
-  extra-libraries:     stdc++
+  if impl(ghc > 9.4)
+    build-builds:      system-cxx-std-lib
+  else
+    extra-libraries:   stdc++
   cpp-options: -DTHREADED_RTS
   if flag(trace)
     cxx-options: -DTRACE