diff --git a/lib/cursor.js b/lib/cursor.js index 5eb1196c0..07035a526 100644 --- a/lib/cursor.js +++ b/lib/cursor.js @@ -575,7 +575,9 @@ var nextFunction = function(self, callback) { // Topology is not connected, save the call in the provided store to be // Executed at some point when the handler deems it's reconnected if (!self.topology.isConnected(self.options)) { - if (!self.cursorState.reconnect) { + // Only need this for single server, because repl sets and mongos + // will always continue trying to reconnect + if (self.topology._type === 'server' && !self.topology.s.options.reconnect) { // Reconnect is disabled, so we'll never reconnect return callback(new MongoError('no connection available')); }