diff --git a/app/lib/streams/WS2PStreamer.ts b/app/lib/streams/WS2PStreamer.ts
index 5b9af62535aab766694ca5dbbd682a5e71226c90..12b41e09b6d9e748fda65c38dfaa4e1956ca6db1 100644
--- a/app/lib/streams/WS2PStreamer.ts
+++ b/app/lib/streams/WS2PStreamer.ts
@@ -32,6 +32,7 @@ export class WS2PStreamer extends stream.Transform {
       }
     } catch (e) {
       logger.warn('WS2P >> Streamer >>', e)
+      this.ws2pc.close()
     }
     done && done();
   }
diff --git a/app/modules/ws2p/lib/WS2PClient.ts b/app/modules/ws2p/lib/WS2PClient.ts
index f30c105037481f0a285c29aaadb3a9f9c69d2d55..1571bae3544bb356f72200d90e03720c0f4776f1 100644
--- a/app/modules/ws2p/lib/WS2PClient.ts
+++ b/app/modules/ws2p/lib/WS2PClient.ts
@@ -22,9 +22,15 @@ export class WS2PClient {
       },
       expectedPub
     )
-    // Streaming
     const streamer = new WS2PStreamer(c)
-    server.pipe(streamer)
+    c.connected
+      .then(() => {
+        // Streaming
+        server.pipe(streamer)
+      })
+      .catch(() => {
+        server.unpipe(streamer)
+      })
     c.closed.then(() => {
       server.unpipe(streamer)
     })