diff --git a/src/EventSubscriber/RedirectRequestSubscriber.php b/src/EventSubscriber/RedirectRequestSubscriber.php
index 8c6679a..8f3b1ce 100644
--- a/src/EventSubscriber/RedirectRequestSubscriber.php
+++ b/src/EventSubscriber/RedirectRequestSubscriber.php
@@ -236,7 +236,7 @@ class RedirectRequestSubscriber implements EventSubscriberInterface {
       return;
     }
 
-
+    $path = $this->cleanPathFromLanguagePrefix($path);
     $system_path = $this->aliasManager->getPathByAlias($path);
     $alias = $this->aliasManager->getAliasByPath($system_path, $this->languageManager->getCurrentLanguage()
       ->getId());
@@ -250,6 +250,23 @@ class RedirectRequestSubscriber implements EventSubscriberInterface {
     }
   }
 
+  public function cleanPathFromLanguagePrefix($path) {
+    $config = \Drupal::config('language.negotiation')->get('url');
+    $parts = explode('/', trim($path, '/'));
+    $prefix = array_shift($parts);
+
+    // Search prefix within added languages.
+    foreach (\Drupal::languageManager()->getLanguages() as $language) {
+      if (isset($config['prefixes'][$language->getId()]) && $config['prefixes'][$language->getId()] == $prefix) {
+        // Rebuild $path with the language removed.
+        $path = '/' . implode('/', $parts);
+        break;
+      }
+    }
+
+    return $path;
+  }
+
   /**
    * Redirects forum taxonomy terms to correct forum path.
    *
