diff --git a/src/sftp-ws/client/SFTPv3.js b/src/sftp-ws/client/SFTPv3.js
index <HASH>..<HASH> 100644
--- a/src/sftp-ws/client/SFTPv3.js
+++ b/src/sftp-ws/client/SFTPv3.js
@@ -669,7 +669,15 @@ SFTP.prototype.readdir = function(where, cb) {
   buf.writeUInt32BE(handlelen, p, true);
   where.copy(buf, p += 4);
 
-  return this._send(buf, cb);
+  return this._send(buf, function(err, list) {
+    if (err || list === false)
+      return cb(err, list);
+    for (var i = list.length - 1; i >= 0; --i) {
+      if (list[i].filename === '.' || list[i].filename === '..')
+        list.splice(i, 1);
+    }
+    cb(err, list);
+  });
 };
 
 SFTP.prototype.fstat = function(handle, cb) {
SFTPv3: strip out '.' and '..' from readdir list

This matches behavior of node's fs.readdir()