diff --git a/lib/serf/agent.js b/lib/serf/agent.js
index <HASH>..<HASH> 100644
--- a/lib/serf/agent.js
+++ b/lib/serf/agent.js
@@ -114,8 +114,15 @@ Agent.prototype.tryStart = function() {
       this._handleOutput(String(data));
     }).bind(this));
   } catch(error) {
-    this._agentProcess = null;
+    this._logger.error('Failed to start Serf agent.');
     this._logger.error(error);
+    try {
+      this._agentProcess.kill();
+    } catch(error) {
+      this._logger.error('Failed to stop Serf agent.');
+      this._logger.error(error);
+    }
+    this._agentProcess = null;
   }
 };
 
@@ -172,6 +179,7 @@ Agent.prototype.shutdown = function() {
       this._agentProcess = null;
       resolve();
     } catch(error) {
+      this._logger.error('Failed to stop Serf agent.');
       this._logger.error(error);
       reject(error);
     }
Handle errors around Serf agent more safely