diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,4 +1,9 @@
 
+Version 0.7.2
+-----
+
+* Improved the stopping of the logical processes in case of shutting the cluster down.
+
 Version 0.7.1
 -----
 
diff --git a/Simulation/Aivika/Distributed/Optimistic/Internal/DIO.hs b/Simulation/Aivika/Distributed/Optimistic/Internal/DIO.hs
--- a/Simulation/Aivika/Distributed/Optimistic/Internal/DIO.hs
+++ b/Simulation/Aivika/Distributed/Optimistic/Internal/DIO.hs
@@ -385,7 +385,8 @@
                          logProcess ps INFO "Terminating the inbox and keep-alive processes..."
                          ---
                          liftIO $
-                           atomicWriteIORef terminated True
+                           do atomicWriteIORef terminated True
+                              writeChannel ch AbortSimulationMessage
                          DP.terminate
                 Just (InternalKeepAliveMessage m) ->
                   do ---
diff --git a/Simulation/Aivika/Distributed/Optimistic/Internal/Event.hs b/Simulation/Aivika/Distributed/Optimistic/Internal/Event.hs
--- a/Simulation/Aivika/Distributed/Optimistic/Internal/Event.hs
+++ b/Simulation/Aivika/Distributed/Optimistic/Internal/Event.hs
@@ -422,6 +422,11 @@
      ---
      invokeEvent p $
        reconnectProcess pid
+processChannelMessage AbortSimulationMessage =
+  TimeWarp $ \p ->
+  invokeEvent p $
+  throwEvent $
+  SimulationAbort "Aborted by the outer process."
 
 -- | Return the local minimum time.
 getLocalTime :: Event DIO Double
diff --git a/Simulation/Aivika/Distributed/Optimistic/Internal/Message.hs b/Simulation/Aivika/Distributed/Optimistic/Internal/Message.hs
--- a/Simulation/Aivika/Distributed/Optimistic/Internal/Message.hs
+++ b/Simulation/Aivika/Distributed/Optimistic/Internal/Message.hs
@@ -123,6 +123,8 @@
                              -- ^ the process monitor notification
                            | ReconnectProcessMessage DP.ProcessId
                              -- ^ finish reconnecting to the specified process
+                           | AbortSimulationMessage
+                             -- ^ abort the simulation
                            deriving (Show, Typeable, Generic)
 
 instance Binary LogicalProcessMessage
diff --git a/aivika-distributed.cabal b/aivika-distributed.cabal
--- a/aivika-distributed.cabal
+++ b/aivika-distributed.cabal
@@ -1,5 +1,5 @@
 name:            aivika-distributed
-version:         0.7.1.1
+version:         0.7.2
 synopsis:        Parallel distributed discrete event simulation module for the Aivika library
 description:
     This package extends the aivika-transformers [1] package and allows running parallel distributed simulations.
