+@@ -7856,6 +7872,7 @@
+ {
+ TRACE("(clrBk=%x)\n", clrBk);
+
++ infoPtr->bDefaultBkColor = FALSE;
+ if(infoPtr->clrBk != clrBk) {
+ if (infoPtr->clrBk != CLR_NONE) DeleteObject(infoPtr->hBkBrush);
+ infoPtr->clrBk = clrBk;
+@@ -9248,6 +9265,7 @@
+ infoPtr->clrText = CLR_DEFAULT;
+ infoPtr->clrTextBk = CLR_DEFAULT;
+ LISTVIEW_SetBkColor(infoPtr, comctl32_color.clrWindow);
++ infoPtr->bDefaultBkColor = TRUE;
+
+ /* set default values */
+ infoPtr->nFocusedItem = -1;
+@@ -11510,6 +11528,11 @@
+
+ case WM_SYSCOLORCHANGE:
+ COMCTL32_RefreshSysColors();
++ if (infoPtr->bDefaultBkColor)
++ {
++ LISTVIEW_SetBkColor(infoPtr, comctl32_color.clrWindow);
++ infoPtr->bDefaultBkColor = TRUE;
++ }
+ return 0;
+
+ /* case WM_TIMER: */
+Index: rebar.c
+===================================================================
+--- rebar.c (revision 51320)
++++ rebar.c (working copy)
+@@ -51,7 +51,6 @@
+ * - WM_QUERYNEWPALETTE
+ * - WM_RBUTTONDOWN
+ * - WM_RBUTTONUP
+- * - WM_SYSCOLORCHANGE
+ * - WM_VKEYTOITEM
+ * - WM_WININICHANGE
+ * Notifications:
+@@ -2540,10 +2539,8 @@
+
+ /* initialize band */
+ memset(lpBand, 0, sizeof(*lpBand));
+- lpBand->clrFore = infoPtr->clrText == CLR_NONE ? infoPtr->clrBtnText :
+- infoPtr->clrText;
+- lpBand->clrBack = infoPtr->clrBk == CLR_NONE ? infoPtr->clrBtnFace :
+- infoPtr->clrBk;
++ lpBand->clrFore = infoPtr->clrText;
++ lpBand->clrBack = infoPtr->clrBk;
+ lpBand->iImage = -1;
+
+ REBAR_CommonSetupBand(infoPtr->hwndSelf, lprbbi, lpBand);
+@@ -3793,6 +3790,8 @@
+
+ case WM_SYSCOLORCHANGE:
+ COMCTL32_RefreshSysColors();
++ infoPtr->clrBtnText = comctl32_color.clrBtnText;
++ infoPtr->clrBtnFace = comctl32_color.clrBtnFace;
+ return 0;
+
+ /* case WM_VKEYTOITEM: supported according to ControlSpy */