diff --git a/config.go b/config.go
index <HASH>..<HASH> 100644
--- a/config.go
+++ b/config.go
@@ -125,10 +125,9 @@ type Config struct {
 	// never be used except for testing purposes, as it can cause a split-brain.
 	StartAsLeader bool
 
-	// The unique ID for this server across all time. If using protocol
-	// version 0 this is optional and will be populated with the server's
-	// network address if not given. For protocol version > 0 this is
-	// required.
+	// The unique ID for this server across all time. For protocol version
+	// > 1 this is required, and for older protocols it will be populated with
+	// the server's network address.
 	LocalID ServerID
 
 	// NotifyCh is used to provide a channel that will be notified of leadership
@@ -168,7 +167,7 @@ func ValidateConfig(config *Config) error {
 		return fmt.Errorf("Protocol version %d must be >= %d and <= %d",
 			config.ProtocolVersion, ProtocolVersionMin, ProtocolVersionMax)
 	}
-	if config.ProtocolVersion > 0 && len(config.LocalID) == 0 {
+	if config.ProtocolVersion > 1 && len(config.LocalID) == 0 {
 		return fmt.Errorf("LocalID cannot be empty")
 	}
 	if config.HeartbeatTimeout < 5*time.Millisecond {
Tweaks LocalID comments and requirements.