diff --git a/src/Repository.php b/src/Repository.php
index 6d3592fa75eaff113ccf701b83e269093ef9032f..b74c6b0b6c4a2f3c4511879d1566fe4c41d7c935 100644
--- a/src/Repository.php
+++ b/src/Repository.php
@@ -472,8 +472,17 @@ class Repository implements RepositoryInterface {
     if (empty($prefix)) {
       return $path;
     }
-    $path = ltrim($path, '/');
-    return str_replace($prefix, '', $path);
+
+    // We ensure 2 structures: /langcode/path or /langcode.
+    $processed_path = ltrim($path, '/');
+    if (str_starts_with($processed_path, $prefix . '/')) {
+      $path = substr($processed_path, strlen($prefix));
+    }
+    elseif ($processed_path === $prefix) {
+      $path = '/';
+    }
+
+    return $path;
   }
 
   /**
diff --git a/tests/src/Kernel/EntityMeshEntityRenderMultilingualTest.php b/tests/src/Kernel/EntityMeshEntityRenderMultilingualTest.php
index 293ae31064fd0357ced58241b882d9f5a3749be1..2724ae1ae05bd692af4a1f2f58aa4a5f623db8f4 100644
--- a/tests/src/Kernel/EntityMeshEntityRenderMultilingualTest.php
+++ b/tests/src/Kernel/EntityMeshEntityRenderMultilingualTest.php
@@ -3,8 +3,8 @@
 namespace Drupal\Tests\entity_mesh\Kernel;
 
 use Drupal\language\Entity\ContentLanguageSettings;
-use Drupal\node\Entity\Node;
 use Drupal\language\Entity\ConfigurableLanguage;
+use Drupal\node\Entity\Node;
 
 /**
  * Tests the Entity Mesh link auditing with multilingual support.
@@ -48,8 +48,8 @@ class EntityMeshEntityRenderMultilingualTest extends EntityMeshTestBase {
 
     $this->container->get('kernel')->rebuildContainer();
     $this->container->get('router.builder')->rebuild();
+    $this->createExampleAlias();
     $this->createExampleNodes();
-
   }
 
   /**
@@ -100,6 +100,8 @@ class EntityMeshEntityRenderMultilingualTest extends EntityMeshTestBase {
       <p>Internal access denied link invalid translation: <a href="/es/node/1">Internal access denied link invalid translation/a></p>
       <p>Internal access denied link not published translation: <a href="/it/node/1">Internal access denied link not published translation</a></p>
       <p>Internal valid link published translation: <a href="/de/node/1">Internal valid link published translation</a></p>
+      <p>Internal access denied alias link not published translation: <a href="/it/node-1-it-alias">Internal access denied alias link not published translation</a></p>
+      <p>Internal alias link published translation: <a href="/de/node-1-de-alias">Internal valid alias link published translation</a></p>
     ';
 
     // Create a node entity in French.
@@ -115,6 +117,25 @@ class EntityMeshEntityRenderMultilingualTest extends EntityMeshTestBase {
     $node_en->save();
   }
 
+  /**
+   * Create alias.
+   */
+  protected function createExampleAlias() {
+    $cases = [
+      ['lang' => 'it', 'path' => '/node/1', 'alias' => '/node-1-it-alias'],
+      ['lang' => 'de', 'path' => '/node/1', 'alias' => '/node-1-de-alias'],
+    ];
+    foreach ($cases as $case) {
+      /** @var \Drupal\path_alias\PathAliasInterface $path_alias */
+      $path_alias = \Drupal::entityTypeManager()->getStorage('path_alias')->create([
+        'path' => $case['path'],
+        'alias' => $case['alias'],
+        'langcode' => $case['lang'],
+      ]);
+      $path_alias->save();
+    }
+  }
+
   /**
    * Provides test cases for different types of links.
    */
@@ -182,6 +203,29 @@ class EntityMeshEntityRenderMultilingualTest extends EntityMeshTestBase {
         'expected_target_entity_id'       => 1,
         'excepted_target_entity_langcode' => 'de',
       ]),
+
+      'Internal valid alias link translation DE' => array_merge($defaults, [
+        'source_entity_id'                => 2,
+        'target_href'                     => '/de/node-1-de-alias',
+        'expected_target_link_type'       => 'internal',
+        'excepted_target_subcategory'     => 'link',
+        'expected_target_entity_type'     => 'node',
+        'expected_target_entity_bundle'   => 'page',
+        'expected_target_entity_id'       => 1,
+        'excepted_target_entity_langcode' => 'de',
+      ]),
+
+      'Internal access denied alias link not published translation IT' => array_merge($defaults, [
+        'source_entity_id'                => 2,
+        'target_href'                     => '/it/node-1-it-alias',
+        'expected_target_link_type'       => 'internal',
+        'excepted_target_subcategory'     => 'access-denied-link',
+        'expected_target_entity_type'     => 'node',
+        'expected_target_entity_bundle'   => 'page',
+        'expected_target_entity_id'       => 1,
+        'excepted_target_entity_langcode' => 'it',
+      ]),
+
     ];
   }
 
diff --git a/tests/src/Kernel/EntityMeshTestBase.php b/tests/src/Kernel/EntityMeshTestBase.php
index e86ebf061685a078c31e78463988505b5a60d30d..9a0fbc9c32b7ef1e8beafe5291fe36a038ac995c 100644
--- a/tests/src/Kernel/EntityMeshTestBase.php
+++ b/tests/src/Kernel/EntityMeshTestBase.php
@@ -31,6 +31,7 @@ abstract class EntityMeshTestBase extends KernelTestBase {
     'text',
     'language',
     'entity_mesh',
+    'path_alias',
   ];
 
   /**
@@ -43,6 +44,7 @@ abstract class EntityMeshTestBase extends KernelTestBase {
     $this->installEntitySchema('configurable_language');
     $this->installEntitySchema('node');
     $this->installEntitySchema('user');
+    $this->installEntitySchema('path_alias');
     $this->installSchema('entity_mesh', ['entity_mesh']);
     $this->installConfig(['filter', 'node', 'system', 'language', 'entity_mesh']);
     $this->installSchema('node', ['node_access']);