diff --git a/pd/nw/pdgui.js b/pd/nw/pdgui.js
index 8f14822610c1cca05045198cc1718f3128285f2b..675545395c61260446a0c7e4c7089eaf317889c9 100644
--- a/pd/nw/pdgui.js
+++ b/pd/nw/pdgui.js
@@ -992,7 +992,7 @@ function connect_as_server(gui_path) {
         };
     server.listen(port, HOST, listener_callback);
     // try to reconnect if necessary
-    server.on('error', function (e) {
+    server.on("error", function (e) {
         if (e.code === "EADDRINUSE" && ntries++ < 20) {
             post("Address in use, retrying...");
             port++;
@@ -1084,6 +1084,11 @@ function init_socket_events () {
 
     connection.on("data", perfect_parser);
 
+    connection.on("error", function(e) {
+        console.log("Socket error: " + e.code);
+        nw_app_quit();
+    });
+
     // Add a "close" event handler for the socket
     connection.on("close", function() {
         //console.log("Connection closed");