diff --git a/homeassistant/components/ipp/__init__.py b/homeassistant/components/ipp/__init__.py
index 447665a3676406e2b3ff724845d284419274112f..81d77b27a3ecced8a4ee45a0aa699e3f73c70aa4 100644
--- a/homeassistant/components/ipp/__init__.py
+++ b/homeassistant/components/ipp/__init__.py
@@ -168,11 +168,9 @@ class IPPEntity(Entity):
 
     async def async_added_to_hass(self) -> None:
         """Connect to dispatcher listening for entity data notifications."""
-        self.coordinator.async_add_listener(self.async_write_ha_state)
-
-    async def async_will_remove_from_hass(self) -> None:
-        """Disconnect from update signal."""
-        self.coordinator.async_remove_listener(self.async_write_ha_state)
+        self.async_on_remove(
+            self.coordinator.async_add_listener(self.async_write_ha_state)
+        )
 
     async def async_update(self) -> None:
         """Update an IPP entity."""