diff --git a/web/gui/src/main/webapp/app/fw/svg/svgUtil.js b/web/gui/src/main/webapp/app/fw/svg/svgUtil.js
index c83b3cc..0f375e2 100644
--- a/web/gui/src/main/webapp/app/fw/svg/svgUtil.js
+++ b/web/gui/src/main/webapp/app/fw/svg/svgUtil.js
@@ -160,12 +160,12 @@
     // --- Ordinal scales for 7 values.
 
     // Colors per Mojo-Design's color palette..
-    //               blue       lt blue    red        lt red     dk grey    lt grey    steel
-    var lightNorm = ['#5b99d2', '#66cef6', '#d05a55', '#db7773', '#716b6b', '#aeada8', '#7e9aa8'],
-        lightMute = ['#a8cceb', '#a8e9fd', '#f1a7a7', '#f8c9c9', '#b9b5b5', '#d7d6d4', '#bdcdd5'],
+    //               blue       red        dk grey    steel      lt blue    lt red     lt grey
+    var lightNorm = ['#5b99d2', '#d05a55', '#716b6b', '#7e9aa8', '#66cef6', '#db7773', '#aeada8' ],
+        lightMute = ['#a8cceb', '#f1a7a7', '#b9b5b5', '#bdcdd5', '#a8e9fd', '#f8c9c9', '#d7d6d4' ],
         // TODO: dark theme
-        darkNorm = ['#5b99d2', '#66cef6', '#d05a55', '#db7773', '#716b6b', '#aeada8', '#7e9aa8'],
-        darkMute = ['#a8cceb', '#a8e9fd', '#f1a7a7', '#f8c9c9', '#b9b5b5', '#d7d6d4', '#bdcdd5'];
+        darkNorm  = ['#5b99d2', '#d05a55', '#716b6b', '#7e9aa8', '#66cef6', '#db7773', '#aeada8' ],
+        darkMute  = ['#a8cceb', '#f1a7a7', '#b9b5b5', '#bdcdd5', '#a8e9fd', '#f8c9c9', '#d7d6d4' ];
 
     var colors= {
         light: {
diff --git a/web/gui/src/main/webapp/tests/app/fw/svg/svgUtil-spec.js b/web/gui/src/main/webapp/tests/app/fw/svg/svgUtil-spec.js
index 1e8970b..b70df79 100644
--- a/web/gui/src/main/webapp/tests/app/fw/svg/svgUtil-spec.js
+++ b/web/gui/src/main/webapp/tests/app/fw/svg/svgUtil-spec.js
@@ -157,8 +157,8 @@
        expect(sus.cat7().getColor('foo', false, 'light')).toEqual('#5b99d2');
     });
 
-    it('should provide light blue', function () {
-       expect(sus.cat7().getColor('bar', false, 'light')).toEqual('#66cef6');
+    it('should provide red', function () {
+       expect(sus.cat7().getColor('bar', false, 'light')).toEqual('#d05a55');
     });
 
     it('should provide paler shade of blue for muted', function () {
@@ -177,16 +177,18 @@
 
     it('should iterate across the colors', function () {
         expect(sus.cat7().getColor('foo', false, 'light')).toEqual('#5b99d2');
-        expect(sus.cat7().getColor('bar', false, 'light')).toEqual('#66cef6');
-        expect(sus.cat7().getColor('baz', false, 'light')).toEqual('#d05a55');
+        expect(sus.cat7().getColor('bar', false, 'light')).toEqual('#d05a55');
+        expect(sus.cat7().getColor('baz', false, 'light')).toEqual('#716b6b');
+        expect(sus.cat7().getColor('zoo', false, 'light')).toEqual('#7e9aa8');
+        expect(sus.cat7().getColor('sdh', false, 'light')).toEqual('#66cef6');
         expect(sus.cat7().getColor('goo', false, 'light')).toEqual('#db7773');
-        expect(sus.cat7().getColor('zoo', false, 'light')).toEqual('#716b6b');
         expect(sus.cat7().getColor('pip', false, 'light')).toEqual('#aeada8');
-        expect(sus.cat7().getColor('sdh', false, 'light')).toEqual('#7e9aa8');
+
         // and cycle back to the first color for item #8
         expect(sus.cat7().getColor('bri', false, 'light')).toEqual('#5b99d2');
+
         // and return the same color for the same ID
-        expect(sus.cat7().getColor('zoo', false, 'light')).toEqual('#716b6b');
+        expect(sus.cat7().getColor('zoo', false, 'light')).toEqual('#7e9aa8');
     });
 
     // === translate(), scale(), skewX(), rotate()
