diff --git a/custom_components/xiaomi_home/miot/miot_device.py b/custom_components/xiaomi_home/miot/miot_device.py
index b91be48..13bc68b 100644
--- a/custom_components/xiaomi_home/miot/miot_device.py
+++ b/custom_components/xiaomi_home/miot/miot_device.py
@@ -591,13 +591,8 @@ class MIoTDevice:
             # Priority: spec_modify.unit > unit_convert > specv2entity.unit
             miot_prop.external_unit = SPEC_PROP_TRANS_MAP['properties'][
                 prop_name]['unit_of_measurement']
-        if (
-            not miot_prop.icon
-            and 'icon' in SPEC_PROP_TRANS_MAP['properties'][prop_name]
-        ):
-            # Priority: spec_modify.icon > icon_convert > specv2entity.icon
-            miot_prop.icon = SPEC_PROP_TRANS_MAP['properties'][prop_name][
-                'icon']
+        # Priority: default.icon when device_class is set > spec_modify.icon
+        #           > icon_convert
         miot_prop.platform = platform
         return True
 
diff --git a/custom_components/xiaomi_home/number.py b/custom_components/xiaomi_home/number.py
index 29bd6b7..1a38592 100644
--- a/custom_components/xiaomi_home/number.py
+++ b/custom_components/xiaomi_home/number.py
@@ -88,7 +88,7 @@ class Number(MIoTPropertyEntity, NumberEntity):
         if self.spec.external_unit:
             self._attr_native_unit_of_measurement = self.spec.external_unit
         # Set icon
-        if self.spec.icon:
+        if self.spec.icon and not self.device_class:
             self._attr_icon = self.spec.icon
         # Set value range
         if self._value_range:
diff --git a/custom_components/xiaomi_home/sensor.py b/custom_components/xiaomi_home/sensor.py
index 68e2d2d..fb9f30b 100644
--- a/custom_components/xiaomi_home/sensor.py
+++ b/custom_components/xiaomi_home/sensor.py
@@ -116,7 +116,7 @@ class Sensor(MIoTPropertyEntity, SensorEntity):
             if spec.state_class:
                 self._attr_state_class = spec.state_class
         # Set icon
-        if spec.icon:
+        if spec.icon and not self.device_class:
             self._attr_icon = spec.icon
 
     @property