diff --git a/lib/gridfs/grid_store.js b/lib/gridfs/grid_store.js
index <HASH>..<HASH> 100644
--- a/lib/gridfs/grid_store.js
+++ b/lib/gridfs/grid_store.js
@@ -1379,6 +1379,7 @@ GridStoreStream.prototype._read = function(n) {
   var read = function() {
     // Read data
     self.gs.read(length, function(err, buffer) {
+      if(err) return self.emit('error', err);
       // Stream is closed
       if(self.endCalled || buffer == null) return self.push(null);
       // Remove bytes read
NODE-<I> GridStoreStream._read() doesn't check GridStore.read() error