diff --git a/akka-stream/src/main/scala/akka/stream/impl/StreamLayout.scala b/akka-stream/src/main/scala/akka/stream/impl/StreamLayout.scala index 59dbc6a62d..b00b4b0a8f 100644 --- a/akka-stream/src/main/scala/akka/stream/impl/StreamLayout.scala +++ b/akka-stream/src/main/scala/akka/stream/impl/StreamLayout.scala @@ -379,11 +379,9 @@ private[stream] final class VirtualProcessor[T] extends Processor[T, T] { case Completed ⇒ tryOnComplete(s) case Failed(ex) ⇒ tryOnError(s, ex) case Allowed ⇒ // all good - } } catch { - case ex @ canNotSubscribeTheSameSubscriberMultipleTimesException ⇒ throw ex - case NonFatal(ex) ⇒ sub.cancel() + case NonFatal(ex) ⇒ if (isCancelled) throw ex else sub.cancel() } } }