diff --git a/notes.c b/notes.c
index f6b9b6a72aa..2ec604c1db4 100644
--- a/notes.c
+++ b/notes.c
@@ -1066,9 +1066,9 @@ void init_display_notes(struct display_notes_opt *opt)
 
 	git_config(notes_display_config, &load_config_refs);
 
-	if (opt && opt->extra_notes_refs) {
+	if (opt) {
 		struct string_list_item *item;
-		for_each_string_list_item(item, opt->extra_notes_refs)
+		for_each_string_list_item(item, &opt->extra_notes_refs)
 			string_list_add_refs_by_glob(&display_notes_refs,
 						     item->string);
 	}
diff --git a/notes.h b/notes.h
index 60bdf289a3f..7ae3eefe060 100644
--- a/notes.h
+++ b/notes.h
@@ -1,6 +1,8 @@
 #ifndef NOTES_H
 #define NOTES_H
 
+#include "string-list.h"
+
 /*
  * Function type for combining two notes annotating the same object.
  *
@@ -257,7 +259,7 @@ struct string_list;
 
 struct display_notes_opt {
 	unsigned int suppress_default_notes:1;
-	struct string_list *extra_notes_refs;
+	struct string_list extra_notes_refs;
 };
 
 /*
diff --git a/revision.c b/revision.c
index 5826e5d599d..24b89ebfdc1 100644
--- a/revision.c
+++ b/revision.c
@@ -1372,11 +1372,9 @@ static int handle_revision_opt(struct rev_info *revs, int argc, const char **arg
 		struct strbuf buf = STRBUF_INIT;
 		revs->show_notes = 1;
 		revs->show_notes_given = 1;
-		if (!revs->notes_opt.extra_notes_refs)
-			revs->notes_opt.extra_notes_refs = xcalloc(1, sizeof(struct string_list));
 		strbuf_addstr(&buf, arg+13);
 		expand_notes_ref(&buf);
-		string_list_append(revs->notes_opt.extra_notes_refs,
+		string_list_append(&revs->notes_opt.extra_notes_refs,
 				   strbuf_detach(&buf, NULL));
 	} else if (!strcmp(arg, "--no-notes")) {
 		revs->show_notes = 0;