diff --git a/t/t3701-add-interactive.sh b/t/t3701-add-interactive.sh
index ca04fac417..cc3f434a97 100755
--- a/t/t3701-add-interactive.sh
+++ b/t/t3701-add-interactive.sh
@@ -589,6 +589,90 @@ test_expect_success 'diffs can be colorized' '
grep "$(printf "\\033")" output
'
+test_expect_success 'colors can be overridden' '
+ git reset --hard &&
+ test_when_finished "git rm -f color-test" &&
+ test_write_lines context old more-context >color-test &&
+ git add color-test &&
+ test_write_lines context new more-context another-one >color-test &&
+
+ echo trigger an error message >input &&
+ force_color git \
+ -c color.interactive.error=blue \
+ add -i 2>err.raw err &&
+ grep "Huh (trigger)?" err &&
+
+ test_write_lines help quit >input &&
+ force_color git \
+ -c color.interactive.header=red \
+ -c color.interactive.help=green \
+ -c color.interactive.prompt=yellow \
+ add -i >actual.raw actual &&
+ cat >expect <<-\EOF &&
+ staged unstaged path
+ 1: +3/-0 +2/-1 color-test
+
+ *** Commands ***
+ 1: status 2: update 3: revert 4: add untracked
+ 5: patch 6: diff 7: quit 8: help
+ What now> status - show paths with changes
+ update - add working tree state to the staged set of changes
+ revert - revert staged set of changes back to the HEAD version
+ patch - pick hunks and update selectively
+ diff - view diff between HEAD and index
+ add untracked - add contents of untracked files to the staged set of changes
+ *** Commands ***
+ 1: status 2: update 3: revert 4: add untracked
+ 5: patch 6: diff 7: quit 8: help
+ What now> Bye.
+ EOF
+ test_cmp expect actual &&
+
+ : exercise recolor_hunk by editing and then look at the hunk again &&
+ test_write_lines s e K q >input &&
+ force_color git \
+ -c color.interactive.prompt=yellow \
+ -c color.diff.meta=italic \
+ -c color.diff.frag=magenta \
+ -c color.diff.context=cyan \
+ -c color.diff.old=bold \
+ -c color.diff.new=blue \
+ -c core.editor=touch \
+ add -p >actual.raw actual.decoded &&
+ sed "s/index [0-9a-f]*\\.\\.[0-9a-f]* 100644//" actual &&
+ cat >expect <<-\EOF &&
+ diff --git a/color-test b/color-test
+
+ --- a/color-test
+ +++ b/color-test
+ @@ -1,3 +1,4 @@
+ context
+ -old
+ +new
+ more-context
+ +another-one
+ (1/1) Stage this hunk [y,n,q,a,d,s,e,?]? Split into 2 hunks.
+ @@ -1,3 +1,3 @@
+ context
+ -old
+ +new
+ more-context
+ (1/2) Stage this hunk [y,n,q,a,d,j,J,g,/,e,?]? @@ -3 +3,2 @@
+ more-context
+ +another-one
+ (2/2) Stage this hunk [y,n,q,a,d,K,g,/,e,?]? @@ -1,3 +1,3 @@
+ context
+ -old
+ +new
+ more-context
+ (1/2) Stage this hunk [y,n,q,a,d,j,J,g,/,e,?]?
+ EOF
+ test_cmp expect actual
+'
+
test_expect_success 'colorized diffs respect diff.wsErrorHighlight' '
git reset --hard &&