diff --git a/homeassistant/util/yaml/loader.py b/homeassistant/util/yaml/loader.py
index e8f4a734bdb..275a51cd760 100644
--- a/homeassistant/util/yaml/loader.py
+++ b/homeassistant/util/yaml/loader.py
@@ -23,7 +23,7 @@ except ImportError:
     )
 
 from homeassistant.exceptions import HomeAssistantError
-from homeassistant.helpers.frame import report
+from homeassistant.helpers.deprecation import deprecated_class
 
 from .const import SECRET_YAML
 from .objects import Input, NodeDictClass, NodeListClass, NodeStrClass
@@ -137,17 +137,10 @@ class FastSafeLoader(FastestAvailableSafeLoader, _LoaderMixin):
         self.secrets = secrets
 
 
+@deprecated_class("FastSafeLoader")
 class SafeLoader(FastSafeLoader):
     """Provided for backwards compatibility. Logs when instantiated."""
 
-    def __init__(*args: Any, **kwargs: Any) -> None:
-        """Log a warning and call super."""
-        report(
-            "uses deprecated 'SafeLoader' instead of 'FastSafeLoader', "
-            "which will stop working in HA Core 2024.6,"
-        )
-        FastSafeLoader.__init__(*args, **kwargs)
-
 
 class PythonSafeLoader(yaml.SafeLoader, _LoaderMixin):
     """Python safe loader."""
@@ -158,17 +151,10 @@ class PythonSafeLoader(yaml.SafeLoader, _LoaderMixin):
         self.secrets = secrets
 
 
+@deprecated_class("PythonSafeLoader")
 class SafeLineLoader(PythonSafeLoader):
     """Provided for backwards compatibility. Logs when instantiated."""
 
-    def __init__(*args: Any, **kwargs: Any) -> None:
-        """Log a warning and call super."""
-        report(
-            "uses deprecated 'SafeLineLoader' instead of 'PythonSafeLoader', "
-            "which will stop working in HA Core 2024.6,"
-        )
-        PythonSafeLoader.__init__(*args, **kwargs)
-
 
 LoaderType = FastSafeLoader | PythonSafeLoader
 
diff --git a/tests/util/yaml/test_init.py b/tests/util/yaml/test_init.py
index c4e5c58e235..3a2d9b3734d 100644
--- a/tests/util/yaml/test_init.py
+++ b/tests/util/yaml/test_init.py
@@ -590,7 +590,7 @@ async def test_loading_actual_file_with_syntax_error(
 def mock_integration_frame() -> Generator[Mock, None, None]:
     """Mock as if we're calling code from inside an integration."""
     correct_frame = Mock(
-        filename="/home/paulus/homeassistant/components/hue/light.py",
+        filename="/home/paulus/.homeassistant/custom_components/hue/light.py",
         lineno="23",
         line="self.light.is_on",
     )
@@ -614,12 +614,12 @@ def mock_integration_frame() -> Generator[Mock, None, None]:
 
 
 @pytest.mark.parametrize(
-    ("loader_class", "message"),
+    ("loader_class", "new_class"),
     [
-        (yaml.loader.SafeLoader, "'SafeLoader' instead of 'FastSafeLoader'"),
+        (yaml.loader.SafeLoader, "FastSafeLoader"),
         (
             yaml.loader.SafeLineLoader,
-            "'SafeLineLoader' instead of 'PythonSafeLoader'",
+            "PythonSafeLoader",
         ),
     ],
 )
@@ -628,14 +628,17 @@ async def test_deprecated_loaders(
     mock_integration_frame: Mock,
     caplog: pytest.LogCaptureFixture,
     loader_class,
-    message: str,
+    new_class: str,
 ) -> None:
     """Test instantiating the deprecated yaml loaders logs a warning."""
     with pytest.raises(TypeError), patch(
         "homeassistant.helpers.frame._REPORTED_INTEGRATIONS", set()
     ):
         loader_class()
-    assert (f"Detected that integration 'hue' uses deprecated {message}") in caplog.text
+    assert (
+        f"{loader_class.__name__} was called from hue, this is a deprecated class. "
+        f"Use {new_class} instead"
+    ) in caplog.text
 
 
 def test_string_annotated(try_both_loaders) -> None: