diff --git a/pkg/plugin/installer/installer.go b/pkg/plugin/installer/installer.go
index 9b0c9a23b337258ace4d76bdfedd42b95d055bf6..4cc19ce28534896a53670f101d1ce98ff416f47f 100644
--- a/pkg/plugin/installer/installer.go
+++ b/pkg/plugin/installer/installer.go
@@ -19,6 +19,7 @@ import (
 	"errors"
 	"fmt"
 	"os"
+	"path"
 	"path/filepath"
 
 	"k8s.io/helm/pkg/helm/helmpath"
@@ -42,6 +43,10 @@ type Installer interface {
 
 // Install installs a plugin to $HELM_HOME.
 func Install(i Installer) error {
+	if _, pathErr := os.Stat(path.Dir(i.Path())); os.IsNotExist(pathErr) {
+		return errors.New(`plugin home "$HELM_HOME/plugins" does not exists`)
+	}
+
 	if _, pathErr := os.Stat(i.Path()); !os.IsNotExist(pathErr) {
 		return errors.New("plugin already exists")
 	}