diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,5 +1,10 @@
 # Changelog for extensible-effects-concurrent
 
+
+## 0.26.1
+- Documentation fixes
+- `Supervisor`: Don't start a new process when a process for a child-id exists 
+
 ## 0.26.0
 - Introduce `ReplyTarget` 
 - Change the `sendReply` signature to accept a `ReplyTarget`
diff --git a/extensible-effects-concurrent.cabal b/extensible-effects-concurrent.cabal
--- a/extensible-effects-concurrent.cabal
+++ b/extensible-effects-concurrent.cabal
@@ -1,6 +1,6 @@
 cabal-version:  2.0
 name:           extensible-effects-concurrent
-version:        0.26.0
+version:        0.26.1
 description:    Please see the README on GitHub at <https://github.com/sheyll/extensible-effects-concurrent#readme>
 synopsis:       Message passing concurrency as extensible-effect
 homepage:       https://github.com/sheyll/extensible-effects-concurrent#readme
diff --git a/src/Control/Eff/Concurrent/Protocol/StatefulServer.hs b/src/Control/Eff/Concurrent/Protocol/StatefulServer.hs
--- a/src/Control/Eff/Concurrent/Protocol/StatefulServer.hs
+++ b/src/Control/Eff/Concurrent/Protocol/StatefulServer.hs
@@ -38,9 +38,9 @@
 
 -- | A type class for server loops.
 --
--- This type class serves as interface for other abstractions, for example /process supervision/
+-- This class serves as interface for other mechanisms, for example /process supervision/
 --
--- The methods of this class handle 'Event's 'Request's for 'Pdu' instance.
+-- The methods of this class handle 'Event's and 'Request's for 'Pdu' instances.
 --
 -- Instances can by /index types/ for 'Pdu' family directly, or indirectly via the 'ServerPdu' type family.
 --
diff --git a/src/Control/Eff/Concurrent/Protocol/Supervisor.hs b/src/Control/Eff/Concurrent/Protocol/Supervisor.hs
--- a/src/Control/Eff/Concurrent/Protocol/Supervisor.hs
+++ b/src/Control/Eff/Concurrent/Protocol/Supervisor.hs
@@ -188,12 +188,12 @@
             sendReply rt True
 
       StartC i -> do
-        childEp <- raise (raise (Server.start (supConfigStartFun supConfig i)))
-        let childPid = _fromEndpoint childEp
-        cMon <- monitor childPid
         mExisting <- lookupChildById @(ChildId p) @p i
         case mExisting of
           Nothing -> do
+            childEp <- raise (raise (Server.start (supConfigStartFun supConfig i)))
+            let childPid = _fromEndpoint childEp
+            cMon <- monitor childPid
             putChild i (MkChild @p childEp cMon)
             sendReply rt (Right childEp)
           Just existingChild ->
