diff --git a/src/os_win32.c b/src/os_win32.c
index 6bbd492..7dc37a1 100644
--- a/src/os_win32.c
+++ b/src/os_win32.c
@@ -200,6 +200,8 @@
 
 static guicolor_T save_console_bg_rgb;
 static guicolor_T save_console_fg_rgb;
+static guicolor_T store_console_bg_rgb;
+static guicolor_T store_console_fg_rgb;
 
 static int g_color_index_bg = 0;
 static int g_color_index_fg = 7;
@@ -217,6 +219,7 @@
 
 static void set_console_color_rgb(void);
 static void reset_console_color_rgb(void);
+static void restore_console_color_rgb(void);
 #endif
 
 // This flag is newly created from Windows 10
@@ -5496,7 +5499,7 @@
     cb = &g_cbNonTermcap;
 # endif
     RestoreConsoleBuffer(cb, p_rs);
-    reset_console_color_rgb();
+    restore_console_color_rgb();
     SetConsoleCursorInfo(g_hConOut, &g_cci);
 
     if (p_rs || exiting)
@@ -7327,6 +7330,8 @@
 	pGetConsoleScreenBufferInfoEx(g_hConOut, &csbi);
     save_console_bg_rgb = (guicolor_T)csbi.ColorTable[g_color_index_bg];
     save_console_fg_rgb = (guicolor_T)csbi.ColorTable[g_color_index_fg];
+    store_console_bg_rgb = save_console_bg_rgb;
+    store_console_fg_rgb = save_console_fg_rgb;
 
 # ifdef FEAT_TERMGUICOLORS
     bg = (COLORREF)csbi.ColorTable[g_color_index_bg];
@@ -7343,7 +7348,7 @@
     static void
 vtp_exit(void)
 {
-    reset_console_color_rgb();
+    restore_console_color_rgb();
 }
 
     static int
@@ -7433,6 +7438,8 @@
     csbi.cbSize = sizeof(csbi);
     csbi.srWindow.Right += 1;
     csbi.srWindow.Bottom += 1;
+    store_console_bg_rgb = csbi.ColorTable[g_color_index_bg];
+    store_console_fg_rgb = csbi.ColorTable[g_color_index_fg];
     csbi.ColorTable[g_color_index_bg] = (COLORREF)bg;
     csbi.ColorTable[g_color_index_fg] = (COLORREF)fg;
     if (has_csbiex)
@@ -7485,6 +7492,9 @@
 }
 # endif
 
+/*
+ * Set the console colors to the original colors or the last set colors.
+ */
     static void
 reset_console_color_rgb(void)
 {
@@ -7498,6 +7508,29 @@
     csbi.cbSize = sizeof(csbi);
     csbi.srWindow.Right += 1;
     csbi.srWindow.Bottom += 1;
+    csbi.ColorTable[g_color_index_bg] = (COLORREF)store_console_bg_rgb;
+    csbi.ColorTable[g_color_index_fg] = (COLORREF)store_console_fg_rgb;
+    if (has_csbiex)
+	pSetConsoleScreenBufferInfoEx(g_hConOut, &csbi);
+# endif
+}
+
+/*
+ * Set the console colors to the original colors.
+ */
+    static void
+restore_console_color_rgb(void)
+{
+# ifdef FEAT_TERMGUICOLORS
+    DYN_CONSOLE_SCREEN_BUFFER_INFOEX csbi;
+
+    csbi.cbSize = sizeof(csbi);
+    if (has_csbiex)
+	pGetConsoleScreenBufferInfoEx(g_hConOut, &csbi);
+
+    csbi.cbSize = sizeof(csbi);
+    csbi.srWindow.Right += 1;
+    csbi.srWindow.Bottom += 1;
     csbi.ColorTable[g_color_index_bg] = (COLORREF)save_console_bg_rgb;
     csbi.ColorTable[g_color_index_fg] = (COLORREF)save_console_fg_rgb;
     if (has_csbiex)
diff --git a/src/version.c b/src/version.c
index e6935a2..3d4b1cb 100644
--- a/src/version.c
+++ b/src/version.c
@@ -743,6 +743,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    178,
+/**/
     177,
 /**/
     176,
