diff --git a/cmd/tiller/release_server.go b/cmd/tiller/release_server.go
index 21a5312388bb20a106306f0d19b1191a23e6f3e8..3f7d43827e4f279d7a9609e31beb99373398605a 100644
--- a/cmd/tiller/release_server.go
+++ b/cmd/tiller/release_server.go
@@ -21,6 +21,7 @@ import (
 	"errors"
 	"fmt"
 	"log"
+	"path/filepath"
 	"regexp"
 	"strings"
 
@@ -678,7 +679,10 @@ func (s *releaseServer) renderResources(ch *chart.Chart, values chartutil.Values
 	notes := ""
 	for k, v := range files {
 		if strings.HasSuffix(k, notesFileSuffix) {
-			notes = v
+			// Only apply the notes if it belongs to the parent chart
+			if k == filepath.Join(ch.Metadata.Name, notesFileSuffix) {
+				notes = v
+			}
 			delete(files, k)
 		}
 	}
diff --git a/cmd/tiller/release_server_test.go b/cmd/tiller/release_server_test.go
index 98cfe6ea9e9edf83743853f1c23312567eab8030..2f503bc7ed6920b05b9c91dd8d15bc6e2149e9a3 100644
--- a/cmd/tiller/release_server_test.go
+++ b/cmd/tiller/release_server_test.go
@@ -393,6 +393,53 @@ func TestInstallReleaseWithNotesRendered(t *testing.T) {
 	}
 }
 
+func TestInstallReleaseWithChartAndDependencyNotes(t *testing.T) {
+	c := helm.NewContext()
+	rs := rsFixture()
+
+	// TODO: Refactor this into a mock.
+	req := &services.InstallReleaseRequest{
+		Namespace: "spaced",
+		Chart: &chart.Chart{
+			Metadata: &chart.Metadata{Name: "hello"},
+			Templates: []*chart.Template{
+				{Name: "hello", Data: []byte("hello: world")},
+				{Name: "hooks", Data: []byte(manifestWithHook)},
+				{Name: "NOTES.txt", Data: []byte(notesText)},
+			},
+			Dependencies: []*chart.Chart{
+				{
+					Metadata: &chart.Metadata{Name: "hello"},
+					Templates: []*chart.Template{
+						{Name: "hello", Data: []byte("hello: world")},
+						{Name: "hooks", Data: []byte(manifestWithHook)},
+						{Name: "NOTES.txt", Data: []byte(notesText + " child")},
+					},
+				},
+			},
+		},
+	}
+
+	res, err := rs.InstallRelease(c, req)
+	if err != nil {
+		t.Fatalf("Failed install: %s", err)
+	}
+	if res.Release.Name == "" {
+		t.Errorf("Expected release name.")
+	}
+
+	rel, err := rs.env.Releases.Get(res.Release.Name, res.Release.Version)
+	if err != nil {
+		t.Errorf("Expected release for %s (%v).", res.Release.Name, rs.env.Releases)
+	}
+
+	t.Logf("rel: %v", rel)
+
+	if rel.Info.Status.Notes != notesText {
+		t.Fatalf("Expected '%s', got '%s'", notesText, rel.Info.Status.Notes)
+	}
+}
+
 func TestInstallReleaseDryRun(t *testing.T) {
 	c := helm.NewContext()
 	rs := rsFixture()