diff --git a/src/libvterm/src/pen.c b/src/libvterm/src/pen.c
index ddc8e40..33d3dae 100644
--- a/src/libvterm/src/pen.c
+++ b/src/libvterm/src/pen.c
@@ -275,10 +275,7 @@
 void vterm_state_set_palette_color(VTermState *state, int index, const VTermColor *col)
 {
   if(index >= 0 && index < 16)
-  {
     state->colors[index] = *col;
-    state->colors[index].index = index + 1;
-  }
 }
 
 void vterm_state_convert_color_to_rgb(const VTermState *state, VTermColor *col)
diff --git a/src/term.c b/src/term.c
index 1991342..4d30ee1 100644
--- a/src/term.c
+++ b/src/term.c
@@ -7494,7 +7494,7 @@
 	*r = ansi_table[nr][0];
 	*g = ansi_table[nr][1];
 	*b = ansi_table[nr][2];
-	*ansi_idx = nr;
+	*ansi_idx = nr + 1;
     }
     else
     {
diff --git a/src/testdir/dumps/Test_terminal_ansi_reset_tgc.dump b/src/testdir/dumps/Test_terminal_ansi_reset_tgc.dump
new file mode 100644
index 0000000..c6f6d72
--- /dev/null
+++ b/src/testdir/dumps/Test_terminal_ansi_reset_tgc.dump
@@ -0,0 +1,12 @@
+|$+0&#ffffff0| |p|r|i|n|t|f| |'|\|0|3@1|[|0|;|3|0|;|4|1|m|h|e|l@1|o| |w|o|r|l|d|\|0|3@1|[|0|m|\|n|'| @30
+|h+0#0000001#e000002|e|l@1|o| |w|o|r|l|d| +0#0000000#ffffff0@63
+|$| |p|r|i|n|t|f| |'|\|0|3@1|[|0|;|3|0|;|4|1|m|h|e|l@1|o| |w|o|r|l|d|\|0|3@1|[|0|m|\|n|'| @30
+|h+0#0000001#e000002|e|l@1|o| |w|o|r|l|d| +0#0000000#ffffff0@63
+|$| > @72
+|!+2#ffffff16#00e0003|s|h| |[|r|u|n@1|i|n|g|]| @43|1|,|1| @11|A|l@1
+| +0#0000000#ffffff0@74
+|~+0#4040ff13&| @73
+|~| @73
+|~| @73
+|[+1#0000000&|N|o| |N|a|m|e|]| @47|0|,|0|-|1| @9|A|l@1
+| +0&&@74
diff --git a/src/testdir/test_terminal.vim b/src/testdir/test_terminal.vim
index 5343efb..b53f0cd 100644
--- a/src/testdir/test_terminal.vim
+++ b/src/testdir/test_terminal.vim
@@ -2149,6 +2149,30 @@
   exe buf . 'bwipe'
 endfunc
 
+func Test_terminal_ansicolors_default_reset_tgc()
+  CheckFeature termguicolors
+  CheckRunVimInTerminal
+
+  let $PS1="$ "
+  let buf = RunVimInTerminal('-c "term sh"', {'rows': 12})
+  call TermWait(buf)
+  " Wait for the shell to display a prompt
+  call WaitForAssert({-> assert_notequal('', term_getline(buf, 1))})
+
+  call term_sendkeys(buf, "printf '\\033[0;30;41mhello world\\033[0m\\n'\<CR>")
+  call WaitForAssert({-> assert_match('hello world', term_getline(buf, 2))})
+  call term_sendkeys(buf, "\<C-W>:set notgc\<CR>")
+  call term_sendkeys(buf, "printf '\\033[0;30;41mhello world\\033[0m\\n'\<CR>")
+  call WaitForAssert({-> assert_match('hello world', term_getline(buf, 4))})
+
+  call VerifyScreenDump(buf, 'Test_terminal_ansi_reset_tgc', {})
+
+  call term_sendkeys(buf, "exit\<CR>")
+  call TermWait(buf)
+  call StopVimInTerminal(buf)
+  unlet! $PS1
+endfunc
+
 let s:test_colors = [
 	\ '#616e64', '#0d0a79',
 	\ '#6d610d', '#0a7373',
diff --git a/src/version.c b/src/version.c
index c51a07d..521fc83 100644
--- a/src/version.c
+++ b/src/version.c
@@ -705,6 +705,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1078,
+/**/
     1077,
 /**/
     1076,
