diff --git a/cmd/helm/version.go b/cmd/helm/version.go
index e22d0a800ff3ae13056e153641fe9cc75b6be133..1242a4667fe61b1bf39a2695b357771a5ea95083 100644
--- a/cmd/helm/version.go
+++ b/cmd/helm/version.go
@@ -17,10 +17,13 @@ limitations under the License.
 package main
 
 import (
+	"errors"
 	"fmt"
 	"io"
 
 	"github.com/spf13/cobra"
+	"google.golang.org/grpc"
+	"google.golang.org/grpc/codes"
 
 	"k8s.io/helm/pkg/helm"
 	"k8s.io/helm/pkg/version"
@@ -56,6 +59,9 @@ func (v *versionCmd) run() error {
 
 	resp, err := v.client.GetVersion()
 	if err != nil {
+		if grpc.Code(err) == codes.Unimplemented {
+			return errors.New("server is too old to know its version")
+		}
 		return err
 	}
 	fmt.Fprintf(v.out, "Server: %#v\n", resp.Version)