diff --git a/homeassistant/components/shelly/climate.py b/homeassistant/components/shelly/climate.py
index d855e8b238b..6a592c904f6 100644
--- a/homeassistant/components/shelly/climate.py
+++ b/homeassistant/components/shelly/climate.py
@@ -42,12 +42,7 @@ from .const import (
 )
 from .coordinator import ShellyBlockCoordinator, ShellyRpcCoordinator, get_entry_data
 from .entity import ShellyRpcEntity
-from .utils import (
-    async_remove_shelly_entity,
-    get_device_entry_gen,
-    get_rpc_key_ids,
-    is_relay_used_as_actuator,
-)
+from .utils import async_remove_shelly_entity, get_device_entry_gen, get_rpc_key_ids
 
 
 async def async_setup_entry(
@@ -131,7 +126,9 @@ def async_setup_rpc_entry(
     for id_ in climate_key_ids:
         climate_ids.append(id_)
 
-        if is_relay_used_as_actuator(id_, coordinator.mac, coordinator.device.config):
+        if coordinator.device.shelly.get("relay_in_thermostat", False):
+            # Wall Display relay is used as the thermostat actuator,
+            # we need to remove a switch entity
             unique_id = f"{coordinator.mac}-switch:{id_}"
             async_remove_shelly_entity(hass, "switch", unique_id)
 
diff --git a/homeassistant/components/shelly/switch.py b/homeassistant/components/shelly/switch.py
index 35429c858f5..5a398182e4d 100644
--- a/homeassistant/components/shelly/switch.py
+++ b/homeassistant/components/shelly/switch.py
@@ -118,8 +118,9 @@ def async_setup_rpc_entry(
             continue
 
         if coordinator.model == MODEL_WALL_DISPLAY:
-            if coordinator.device.shelly["relay_operational"]:
-                # Wall Display in relay mode, we need to remove a climate entity
+            if not coordinator.device.shelly.get("relay_in_thermostat", False):
+                # Wall Display relay is not used as the thermostat actuator,
+                # we need to remove a climate entity
                 unique_id = f"{coordinator.mac}-thermostat:{id_}"
                 async_remove_shelly_entity(hass, "climate", unique_id)
             else:
diff --git a/homeassistant/components/shelly/utils.py b/homeassistant/components/shelly/utils.py
index 0209dc63aa8..6b5c59f28db 100644
--- a/homeassistant/components/shelly/utils.py
+++ b/homeassistant/components/shelly/utils.py
@@ -430,10 +430,3 @@ def get_release_url(gen: int, model: str, beta: bool) -> str | None:
         return None
 
     return GEN1_RELEASE_URL if gen == 1 else GEN2_RELEASE_URL
-
-
-def is_relay_used_as_actuator(relay_id: int, mac: str, config: dict[str, Any]) -> bool:
-    """Return True if an internal relay is used as the thermostat actuator."""
-    return f"{mac}/c/switch:{relay_id}".lower() in config[f"thermostat:{relay_id}"].get(
-        "actuator", ""
-    )
diff --git a/tests/components/shelly/conftest.py b/tests/components/shelly/conftest.py
index 1662405dc80..6eb74e26dcb 100644
--- a/tests/components/shelly/conftest.py
+++ b/tests/components/shelly/conftest.py
@@ -153,7 +153,6 @@ MOCK_CONFIG = {
         "id": 0,
         "enable": True,
         "type": "heating",
-        "actuator": f"shelly://shellywalldisplay-{MOCK_MAC.lower()}/c/switch:0",
     },
     "sys": {
         "ui_data": {},
@@ -181,7 +180,7 @@ MOCK_SHELLY_RPC = {
     "auth_en": False,
     "auth_domain": None,
     "profile": "cover",
-    "relay_operational": False,
+    "relay_in_thermostat": True,
 }
 
 MOCK_STATUS_COAP = {
diff --git a/tests/components/shelly/test_switch.py b/tests/components/shelly/test_switch.py
index 69e1423f75a..e19416706e1 100644
--- a/tests/components/shelly/test_switch.py
+++ b/tests/components/shelly/test_switch.py
@@ -283,7 +283,8 @@ async def test_block_device_gas_valve(
 
 
 async def test_wall_display_thermostat_mode(
-    hass: HomeAssistant, mock_rpc_device, monkeypatch
+    hass: HomeAssistant,
+    mock_rpc_device,
 ) -> None:
     """Test Wall Display in thermostat mode."""
     await init_integration(hass, 2, model=MODEL_WALL_DISPLAY)
@@ -294,7 +295,10 @@ async def test_wall_display_thermostat_mode(
 
 
 async def test_wall_display_relay_mode(
-    hass: HomeAssistant, entity_registry, mock_rpc_device, monkeypatch
+    hass: HomeAssistant,
+    entity_registry: er.EntityRegistry,
+    mock_rpc_device,
+    monkeypatch,
 ) -> None:
     """Test Wall Display in thermostat mode."""
     entity_id = register_entity(
@@ -305,8 +309,7 @@ async def test_wall_display_relay_mode(
     )
 
     new_shelly = deepcopy(mock_rpc_device.shelly)
-    new_shelly["relay_operational"] = True
-
+    new_shelly["relay_in_thermostat"] = False
     monkeypatch.setattr(mock_rpc_device, "shelly", new_shelly)
 
     await init_integration(hass, 2, model=MODEL_WALL_DISPLAY)