diff --git a/homeassistant/components/group/light.py b/homeassistant/components/group/light.py
index 4357085ef8a..9567735c9eb 100644
--- a/homeassistant/components/group/light.py
+++ b/homeassistant/components/group/light.py
@@ -27,6 +27,8 @@ from homeassistant.components.light import (
     ATTR_TRANSITION,
     ATTR_WHITE_VALUE,
     ATTR_XY_COLOR,
+    COLOR_MODE_BRIGHTNESS,
+    COLOR_MODE_ONOFF,
     PLATFORM_SCHEMA,
     SUPPORT_EFFECT,
     SUPPORT_FLASH,
@@ -386,8 +388,12 @@ class LightGroup(GroupEntity, light.LightEntity):
         self._color_mode = None
         all_color_modes = list(_find_state_attributes(on_states, ATTR_COLOR_MODE))
         if all_color_modes:
-            # Report the most common color mode.
+            # Report the most common color mode, select brightness and onoff last
             color_mode_count = Counter(itertools.chain(all_color_modes))
+            if COLOR_MODE_ONOFF in color_mode_count:
+                color_mode_count[COLOR_MODE_ONOFF] = -1
+            if COLOR_MODE_BRIGHTNESS in color_mode_count:
+                color_mode_count[COLOR_MODE_BRIGHTNESS] = 0
             self._color_mode = color_mode_count.most_common(1)[0][0]
 
         self._supported_color_modes = None
diff --git a/tests/components/group/test_light.py b/tests/components/group/test_light.py
index 14489450610..06ad1b1101b 100644
--- a/tests/components/group/test_light.py
+++ b/tests/components/group/test_light.py
@@ -26,6 +26,7 @@ from homeassistant.components.light import (
     COLOR_MODE_BRIGHTNESS,
     COLOR_MODE_COLOR_TEMP,
     COLOR_MODE_HS,
+    COLOR_MODE_ONOFF,
     COLOR_MODE_RGBW,
     COLOR_MODE_RGBWW,
     DOMAIN as LIGHT_DOMAIN,
@@ -856,6 +857,80 @@ async def test_color_mode(hass, enable_custom_integrations):
     assert state.attributes[ATTR_COLOR_MODE] == COLOR_MODE_HS
 
 
+async def test_color_mode2(hass, enable_custom_integrations):
+    """Test onoff color_mode and brightness are given lowest priority."""
+    platform = getattr(hass.components, "test.light")
+    platform.init(empty=True)
+
+    platform.ENTITIES.append(platform.MockLight("test1", STATE_ON))
+    platform.ENTITIES.append(platform.MockLight("test2", STATE_ON))
+    platform.ENTITIES.append(platform.MockLight("test3", STATE_ON))
+    platform.ENTITIES.append(platform.MockLight("test4", STATE_ON))
+    platform.ENTITIES.append(platform.MockLight("test5", STATE_ON))
+    platform.ENTITIES.append(platform.MockLight("test6", STATE_ON))
+
+    entity = platform.ENTITIES[0]
+    entity.supported_color_modes = {COLOR_MODE_COLOR_TEMP}
+    entity.color_mode = COLOR_MODE_COLOR_TEMP
+
+    entity = platform.ENTITIES[1]
+    entity.supported_color_modes = {COLOR_MODE_BRIGHTNESS}
+    entity.color_mode = COLOR_MODE_BRIGHTNESS
+
+    entity = platform.ENTITIES[2]
+    entity.supported_color_modes = {COLOR_MODE_BRIGHTNESS}
+    entity.color_mode = COLOR_MODE_BRIGHTNESS
+
+    entity = platform.ENTITIES[3]
+    entity.supported_color_modes = {COLOR_MODE_ONOFF}
+    entity.color_mode = COLOR_MODE_ONOFF
+
+    entity = platform.ENTITIES[4]
+    entity.supported_color_modes = {COLOR_MODE_ONOFF}
+    entity.color_mode = COLOR_MODE_ONOFF
+
+    entity = platform.ENTITIES[5]
+    entity.supported_color_modes = {COLOR_MODE_ONOFF}
+    entity.color_mode = COLOR_MODE_ONOFF
+
+    assert await async_setup_component(
+        hass,
+        LIGHT_DOMAIN,
+        {
+            LIGHT_DOMAIN: [
+                {"platform": "test"},
+                {
+                    "platform": DOMAIN,
+                    "entities": [
+                        "light.test1",
+                        "light.test2",
+                        "light.test3",
+                        "light.test4",
+                        "light.test5",
+                        "light.test6",
+                    ],
+                },
+            ]
+        },
+    )
+    await hass.async_block_till_done()
+    await hass.async_start()
+    await hass.async_block_till_done()
+
+    state = hass.states.get("light.light_group")
+    assert state.attributes[ATTR_COLOR_MODE] == COLOR_MODE_COLOR_TEMP
+
+    await hass.services.async_call(
+        "light",
+        "turn_off",
+        {"entity_id": ["light.test1"]},
+        blocking=True,
+    )
+    await hass.async_block_till_done()
+    state = hass.states.get("light.light_group")
+    assert state.attributes[ATTR_COLOR_MODE] == COLOR_MODE_BRIGHTNESS
+
+
 async def test_supported_features(hass):
     """Test supported features reporting."""
     await async_setup_component(