diff --git a/lib/kafkaClient.js b/lib/kafkaClient.js
index <HASH>..<HASH> 100644
--- a/lib/kafkaClient.js
+++ b/lib/kafkaClient.js
@@ -191,6 +191,10 @@ KafkaClient.prototype.connectToBrokers = function (hosts, callback) {
     },
     () => !this.closing && !broker && index < hosts.length,
     () => {
+      if (this.closing) {
+        return callback(new Error('client is closing'));
+      }
+
       if (broker) {
         return callback(null, broker);
       }
@@ -198,7 +202,7 @@ KafkaClient.prototype.connectToBrokers = function (hosts, callback) {
       if (errors.length) {
         callback(errors.pop());
       } else {
-        callback(new Error('client is closing?'));
+        callback(new Error('failed to connect to brokers'));
       }
     }
   );
Race condition when closing client, still attempt to refreshBrokerMetadata when client is closing (#<I>)