diff --git a/lib/shared/thread-utils.js b/lib/shared/thread-utils.js
--- a/lib/shared/thread-utils.js
+++ b/lib/shared/thread-utils.js
@@ -84,15 +84,15 @@
 }
 
 const selectedThreadColorsObj = Object.freeze({
-  a: '4B87AA',
-  b: '5C9F5F',
-  c: 'B8753D',
-  d: 'AA4B4B',
-  e: '6D49AB',
-  f: 'C85000',
-  g: '008F83',
-  h: '648CAA',
-  i: '57697F',
+  a: '4b87aa',
+  b: '5c9f5f',
+  c: 'b8753d',
+  d: 'aa4b4b',
+  e: '6d49ab',
+  f: 'c85000',
+  g: '008f83',
+  h: '648caa',
+  i: '57697f',
   j: '575757',
 });
 
diff --git a/web/modals/threads/settings/thread-settings-general-tab.react.js b/web/modals/threads/settings/thread-settings-general-tab.react.js
--- a/web/modals/threads/settings/thread-settings-general-tab.react.js
+++ b/web/modals/threads/settings/thread-settings-general-tab.react.js
@@ -1,6 +1,7 @@
 // @flow
 
 import * as React from 'react';
+import tinycolor from 'tinycolor2';
 
 import {
   changeThreadSettingsActionTypes,
@@ -88,7 +89,7 @@
       setQueuedChanges(prevQueuedChanges =>
         Object.freeze({
           ...prevQueuedChanges,
-          color: color !== threadInfo.color ? color : undefined,
+          color: !tinycolor.equals(color, threadInfo.color) ? color : undefined,
         }),
       );
     },