diff --git a/redirect.module b/redirect.module
index 1ab9ec3..79131a5 100644
--- a/redirect.module
+++ b/redirect.module
@@ -79,8 +79,8 @@ function redirect_help($route_name, RouteMatchInterface $route_match) {
  * Will delete redirects based on the entity URL.
  */
 function redirect_entity_delete(EntityInterface $entity) {
-  if (redirect_entity_has_path_field($entity)) {
-    redirect_delete_by_path('internal:/' . $entity->toUrl()->getInternalPath());
+  if ($entity->getEntityType()->hasLinkTemplate('canonical')) {
+    redirect_delete_by_path('internal:/' . $entity->toUrl('canonical')->getInternalPath());
     redirect_delete_by_path('entity:' . $entity->getEntityTypeId() . '/' . $entity->id());
   }
 }
@@ -176,23 +176,6 @@ function redirect_page_build(&$page) {
 }
 
 /**
- * Checks if the entity has path field.
- *
- * @param EntityInterface $entity
- *   The entity to check.
- *
- * @return bool
- *   TRUE if the entity has the path field.
- */
-function redirect_entity_has_path_field(EntityInterface $entity) {
-  if (isset($entity->path) && $entity->path instanceof FieldItemList) {
-    return TRUE;
-  }
-
-  return FALSE;
-}
-
-/**
  * Gets the redirect repository service.
  *
  * @return \Drupal\redirect\RedirectRepository
