diff --git a/cmd/helm/install.go b/cmd/helm/install.go
index ee3232d64ce10ac259b0c4ae00e58476189c8b0b..a926b3c1185af7ebf9862d5607623232906289d7 100644
--- a/cmd/helm/install.go
+++ b/cmd/helm/install.go
@@ -119,7 +119,7 @@ func newInstallCmd(c helm.Interface, out io.Writer) *cobra.Command {
 
 func (i *installCmd) run() error {
 	if flagDebug {
-		fmt.Printf("Chart path: %s\n", i.chartPath)
+		fmt.Fprintf(i.out, "Chart path: %s\n", i.chartPath)
 	}
 
 	rawVals, err := i.vals()
@@ -134,7 +134,7 @@ func (i *installCmd) run() error {
 			return err
 		}
 		// Print the final name so the user knows what the final name of the release is.
-		fmt.Printf("final name: %s\n", i.name)
+		fmt.Printf("Final name: %s\n", i.name)
 	}
 
 	res, err := i.client.InstallRelease(
@@ -155,6 +155,11 @@ func (i *installCmd) run() error {
 	}
 	i.printRelease(rel)
 
+	// If this is a dry run, we can't display status.
+	if i.dryRun {
+		return nil
+	}
+
 	// Print the status like status command does
 	status, err := i.client.ReleaseStatus(rel.Name)
 	if err != nil {
@@ -250,7 +255,6 @@ func (v *values) Set(data string) error {
 			}
 		}
 	}
-	fmt.Print(v.pairs)
 	return nil
 }