diff --git a/etcd_client.go b/etcd_client.go
index 31a4b04776aad49322ff1dd4c899a781b887f661..a6251e7c8edec1def38f9ad4d75f87c350bc8380 100644
--- a/etcd_client.go
+++ b/etcd_client.go
@@ -11,7 +11,7 @@ import (
 )
 
 var (
-	etcdMachines = flag.String("etcd-servers", "localhost:7800", "Etcd servers (comma-separated list)")
+	etcdMachines = flag.String("etcd-servers", "localhost:4001", "Etcd servers (comma-separated list)")
 	etcdCertFile = flag.String("etcd-cert", "", "SSL certificate for etcd client")
 	etcdKeyFile  = flag.String("etcd-key", "", "SSL private key for etcd client")
 )
@@ -24,7 +24,8 @@ func loadFile(path string) string {
 	return string(data)
 }
 
-func resolveAll(input []string) []string {
+// Resolve a list of etcd host:port specs, returning URLs.
+func resolveAll(input []string, proto string) []string {
 	result := make([]string, 0)
 	for _, hostport := range input {
 		host, port, err := net.SplitHostPort(hostport)
@@ -36,19 +37,27 @@ func resolveAll(input []string) []string {
 			log.Fatal("Error resolving etcd server spec '%s': %s", hostport, err)
 		}
 		for _, a := range addrs {
-			result = append(result, net.JoinHostPort(a, port))
+			url := proto + "://" + net.JoinHostPort(a, port)
+			result = append(result, url)
 		}
 	}
 	return result
 }
 
 func NewEtcdClient() *etcd.Client {
-	machines := resolveAll(strings.Split(*etcdMachines, ","))
+	proto := "http"
+	if *etcdCertFile != "" && *etcdKeyFile != "" {
+		proto = "https"
+	}
+
+	machines := resolveAll(strings.Split(*etcdMachines, ","), proto)
 	if len(machines) == 0 {
 		log.Fatal("No etcd servers specified!")
 	}
+	log.Printf("etcd servers: %+v", machines)
+
 	c := etcd.NewClient(machines)
-	if *etcdCertFile != "" && *etcdKeyFile != "" {
+	if proto == "https" {
 		c.SetScheme(etcd.HTTPS)
 		if _, err := c.SetCertAndKey(loadFile(*etcdCertFile), loadFile(*etcdKeyFile)); err != nil {
 			log.Fatal("Error setting up SSL for etcd client: %s", err)