diff --git a/cmd/helm/helm.go b/cmd/helm/helm.go
index 56bb04c1e799772d453355cb730b3dbfb26389f4..d9b169f0008de75408305a44c6a783ace9ecc103 100644
--- a/cmd/helm/helm.go
+++ b/cmd/helm/helm.go
@@ -20,11 +20,14 @@ import (
 	"errors"
 	"fmt"
 	"io"
+	"io/ioutil"
+	"log"
 	"os"
 	"strings"
 
 	"github.com/spf13/cobra"
 	"google.golang.org/grpc"
+	"google.golang.org/grpc/grpclog"
 	"k8s.io/kubernetes/pkg/client/restclient"
 	"k8s.io/kubernetes/pkg/client/unversioned"
 
@@ -90,6 +93,9 @@ func newRootCmd(out io.Writer) *cobra.Command {
 	p.StringVar(&kubeContext, "kube-context", "", "name of the kubeconfig context to use")
 	p.BoolVarP(&flagDebug, "debug", "", false, "enable verbose output")
 
+	// Tell gRPC not to log to console.
+	grpclog.SetLogger(log.New(ioutil.Discard, "", log.LstdFlags))
+
 	rup := newRepoUpdateCmd(out)
 	rup.Deprecated = "use 'helm repo update'\n"
 
diff --git a/cmd/helm/version.go b/cmd/helm/version.go
index c92e7250e840e74ffabc5adde680a48fe3bf598f..9a9e111bef3b596695e2747bfce642d2f1d169fb 100644
--- a/cmd/helm/version.go
+++ b/cmd/helm/version.go
@@ -20,6 +20,7 @@ import (
 	"errors"
 	"fmt"
 	"io"
+	"os"
 
 	"github.com/spf13/cobra"
 	"google.golang.org/grpc"
@@ -101,7 +102,10 @@ func (v *versionCmd) run() error {
 		if grpc.Code(err) == codes.Unimplemented {
 			return errors.New("server is too old to know its version")
 		}
-		return err
+		if flagDebug {
+			fmt.Fprintln(os.Stderr, err)
+		}
+		return errors.New("cannot connect to Tiller")
 	}
 	fmt.Fprintf(v.out, "Server: %#v\n", resp.Version)
 	return nil