diff --git a/client.go b/client.go
index <HASH>..<HASH> 100644
--- a/client.go
+++ b/client.go
@@ -549,6 +549,7 @@ func (client *Client) update(data *MetadataResponse) ([]string, error) {
 				broker := client.brokers[partition.Leader]
 				if _, present := client.deadBrokerAddrs[broker.Addr()]; present {
 					if connected, _ := broker.Connected(); !connected {
+						partition.Err = LeaderNotAvailable
 						toRetry[topic.Name] = true
 					}
 				}
If we can't connect, the leader is not available

If kafka gave us a broker we can't talk to (which we suspected because it was
already dead), then mark the partition as LeaderNotAvailable so that subsequent
calls to Leader don't return it unnecessarily