diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,3 +1,8 @@
+## 0.1.7.1
+
+Fix `streamingProcess` so that it doesn't close `Handle`s passed in with
+`UseProvidedHandle`.
+
 ## 0.1.7
 
 `withCheckedProcess` added.
diff --git a/Data/Streaming/Process.hs b/Data/Streaming/Process.hs
--- a/Data/Streaming/Process.hs
+++ b/Data/Streaming/Process.hs
@@ -44,6 +44,10 @@
 import           System.IO                       (hClose)
 import           System.Process
 
+#if MIN_VERSION_process(1,2,0)
+import qualified System.Process.Internals        as PI
+#endif
+
 #if MIN_VERSION_stm(2,3,0)
 import           Control.Concurrent.STM          (tryReadTMVar)
 #else
@@ -142,7 +146,11 @@
         (getStdout, stdoutStream) = osStdStream
         (getStderr, stderrStream) = osStdStream
 
+#if MIN_VERSION_process(1,2,0)
+    (stdinH, stdoutH, stderrH, ph) <- PI.createProcess_ "streamingProcess" cp
+#else
     (stdinH, stdoutH, stderrH, ph) <- createProcess cp
+#endif
         { std_in = fromMaybe (std_in cp) stdinStream
         , std_out = fromMaybe (std_out cp) stdoutStream
         , std_err = fromMaybe (std_err cp) stderrStream
diff --git a/streaming-commons.cabal b/streaming-commons.cabal
--- a/streaming-commons.cabal
+++ b/streaming-commons.cabal
@@ -1,5 +1,5 @@
 name:                streaming-commons
-version:             0.1.7
+version:             0.1.7.2
 synopsis:            Common lower-level functions needed by various streaming data libraries
 description:         Provides low-dependency functionality commonly needed by various streaming data libraries, such as conduit and pipes.
 homepage:            https://github.com/fpco/streaming-commons
