diff --git a/lib/commands/accounts.js b/lib/commands/accounts.js
index <HASH>..<HASH> 100644
--- a/lib/commands/accounts.js
+++ b/lib/commands/accounts.js
@@ -18,10 +18,7 @@ var Accounts = (function() {
     process.stdout.on('data', this.parseAccount.bind(this));
     
     process.stdout.once('end', function() {
-      if (this.buffer) {
-        this.output.emit('data', trim(this.buffer));
-      }
-
+      this.processBuffer(true);
       this.output.emit('end');
     }.bind(this));
 
@@ -34,16 +31,24 @@ var Accounts = (function() {
 
   Accounts.prototype.parseAccount = function(entry) {
     this.buffer += entry;
+    this.processBuffer();
+  };
 
+  Accounts.prototype.processBuffer = function(drain) {
     var index = this.buffer.indexOf('\n');
 
-    while (index) {
+    while (index && this.buffer.length > 0) {
       var line = this.buffer.substr(0, index);
+      
       this.output.emit('data', trim(line));
       
-      this.buffer = this.buffer.substr(index);
+      this.buffer = this.buffer.substr(index + 1);
       index = this.buffer.indexOf('\n');
     }
+
+    if (drain && this.buffer) {
+      this.output.emit('data', trim(this.buffer));
+    }
   };
   
   return Accounts;
Fixing bug with buffering of accounts from Ledger CLI.