diff --git a/dlls/comctl32/listview.c b/dlls/comctl32/listview.c
index 193a3118ae63f5140acbabe4b28663fd0fc28038..81e9ec16d4502fd5adbbbfe9c4f00e2edf5af031 100644
--- a/dlls/comctl32/listview.c
+++ b/dlls/comctl32/listview.c
@@ -6808,8 +6808,10 @@ static LRESULT LISTVIEW_SetBkColor(HWND hwnd, COLORREF clrBk)
 {
   LISTVIEW_INFO *infoPtr = (LISTVIEW_INFO *)GetWindowLongW(hwnd, 0);
 
-  infoPtr->clrBk = clrBk;
-  InvalidateRect(hwnd, NULL, TRUE);
+  if(infoPtr->clrBk!=clrBk){
+    infoPtr->clrBk = clrBk;
+    InvalidateRect(hwnd, NULL, TRUE);
+  }
   
   return TRUE;
 }