diff --git a/cmd/helm/lint.go b/cmd/helm/lint.go
index f529f8ce5d2ceede1606276b83ac3159a0a43f15..29eea1a884ec209047cc8ab05856878453830223 100644
--- a/cmd/helm/lint.go
+++ b/cmd/helm/lint.go
@@ -149,7 +149,11 @@ func lintChart(path string, vals []byte, namespace string, strict bool) (support
 			return linter, err
 		}
 
-		base := strings.Split(filepath.Base(path), "-")[0]
+		lastHyphenIndex := strings.LastIndex(filepath.Base(path), "-")
+		if lastHyphenIndex <= 0 {
+			return linter, fmt.Errorf("unable to parse chart archive %q, missing '-'", filepath.Base(path))
+		}
+		base := filepath.Base(path)[:lastHyphenIndex]
 		chartPath = filepath.Join(tempDir, base)
 	} else {
 		chartPath = path
diff --git a/cmd/helm/lint_test.go b/cmd/helm/lint_test.go
index e52bdc056ad1ea40da1b22db21be1b1f798dada1..7f045153ce353f8745080fdbcc1a7182d1eab1b7 100644
--- a/cmd/helm/lint_test.go
+++ b/cmd/helm/lint_test.go
@@ -21,11 +21,13 @@ import (
 )
 
 var (
-	values            = []byte{}
-	namespace         = "testNamespace"
-	strict            = false
-	archivedChartPath = "testdata/testcharts/compressedchart-0.1.0.tgz"
-	chartDirPath      = "testdata/testcharts/decompressedchart/"
+	values                       = []byte{}
+	namespace                    = "testNamespace"
+	strict                       = false
+	archivedChartPath            = "testdata/testcharts/compressedchart-0.1.0.tgz"
+	archivedChartPathWithHyphens = "testdata/testcharts/compressedchart-with-hyphens-0.1.0.tgz"
+	invalidArchivedChartPath     = "testdata/testcharts/invalidcompressedchart0.1.0.tgz"
+	chartDirPath                 = "testdata/testcharts/decompressedchart/"
 )
 
 func TestLintChart(t *testing.T) {
@@ -37,4 +39,11 @@ func TestLintChart(t *testing.T) {
 		t.Errorf("%s", err)
 	}
 
+	if _, err := lintChart(archivedChartPathWithHyphens, values, namespace, strict); err != nil {
+		t.Errorf("%s", err)
+	}
+
+	if _, err := lintChart(invalidArchivedChartPath, values, namespace, strict); err == nil {
+		t.Errorf("Expected a chart parsing error")
+	}
 }
diff --git a/cmd/helm/testdata/testcharts/compressedchart-with-hyphens-0.1.0.tgz b/cmd/helm/testdata/testcharts/compressedchart-with-hyphens-0.1.0.tgz
new file mode 100644
index 0000000000000000000000000000000000000000..379210a92c1795429d2c4baae389f1e971f26824
Binary files /dev/null and b/cmd/helm/testdata/testcharts/compressedchart-with-hyphens-0.1.0.tgz differ