diff --git a/webapp/src/Controller/Organization/OrganizationDisplayController.php b/webapp/src/Controller/Organization/OrganizationDisplayController.php
index 49a976d8c4be5dfee8867bdc14745158da9ce046..b7acb5ec4a814e3b54e565519c2c1ae8913485f5 100644
--- a/webapp/src/Controller/Organization/OrganizationDisplayController.php
+++ b/webapp/src/Controller/Organization/OrganizationDisplayController.php
@@ -66,6 +66,29 @@ public function displayOneOrganizationPageAllowToChangeLocaleInUrl(
     }
 
 
+    #[Route(
+        path: [
+            'en' => '/{_locale}/organization/{id}/',
+            'fr' => '/{_locale}/organisation/{id}/',
+        ],
+        name: 'app_anonymous_organization_display_one_organization_without_slug',
+        methods: ['GET', 'HEAD']
+    )]
+    public function oneOrganizatioUrlWithoutSlugRedirectToValidUrl(
+        string $_locale,
+        Organization $organization,
+    ): RedirectResponse {
+        $newUrl = $this->generateUrl('app_anonymous_organization_display_one_organization', [
+            '_locale' => $_locale,
+            'id' => $organization->getId(),
+            'slug' => $organization->getSlug(),
+        ]);
+        return new RedirectResponse(
+            url: $newUrl,
+            status: Response::HTTP_PERMANENTLY_REDIRECT // 308 Permanent Redirect
+        );
+    }
+
     #[Route(
         path: [
             'en' => '/{_locale}/organization/{id}/{slug}/',
diff --git a/webapp/tests/Functional/Organization/FunctionalTestOrganizationPagesTest.php b/webapp/tests/Functional/Organization/FunctionalTestOrganizationPagesTest.php
index e00537f1a4ccdf130f9763f9e337dc4f255fbe7f..e11c006e32d4fde2063480bd7dc9d1536933c01e 100644
--- a/webapp/tests/Functional/Organization/FunctionalTestOrganizationPagesTest.php
+++ b/webapp/tests/Functional/Organization/FunctionalTestOrganizationPagesTest.php
@@ -27,6 +27,7 @@
 use Symfony\Bundle\FrameworkBundle\Test\WebTestCase;
 
 /**
+ * @group allow_mutation_testing_by_infection
  * @group gogogo
  */
 class FunctionalTestOrganizationPagesTest extends WebTestCase
@@ -94,4 +95,48 @@ public function testOneOrganizationPageAllowToChangeLocaleInUrl(): void
             expectedNewRoute: 'app_anonymous_organization_display_one_organization',
         );
     }
+
+
+    public function testOneOrganizationPageWithoutSlugRedirectToValidUrl(): void
+    {
+        $organizationId = AppOrganizationFixtures::ORGANIZATIONS[3]['id'];
+        $organizationSlug = AppOrganizationFixtures::ORGANIZATIONS[$organizationId]['slug'];
+        $client = static::createClient();
+        $this->checkRedirectionToNewUrl(
+            client: $client,
+            currentUrl: "/en/organization/$organizationId/",
+            expectedNewUrl: "/en/organization/$organizationId/$organizationSlug/",
+            expectedCurrentRoute: 'app_anonymous_organization_display_one_organization_without_slug',
+            expectedNewRoute: 'app_anonymous_organization_display_one_organization',
+        );
+        $this->checkRedirectionToNewUrl(
+            client: $client,
+            currentUrl: "/fr/organisation/$organizationId/",
+            expectedNewUrl: "/fr/organisation/$organizationId/$organizationSlug/",
+            expectedCurrentRoute: 'app_anonymous_organization_display_one_organization_without_slug',
+            expectedNewRoute: 'app_anonymous_organization_display_one_organization',
+        );
+    }
+
+    public function testOneOrganizationPageWithBadSlugRedirectToValidUrl(): void
+    {
+        $organizationId = AppOrganizationFixtures::ORGANIZATIONS[3]['id'];
+        $organizationSlug = AppOrganizationFixtures::ORGANIZATIONS[$organizationId]['slug'];
+        $client = static::createClient();
+        $this->checkRedirectionToNewUrl(
+            client: $client,
+            currentUrl: "/en/organization/$organizationId/not-valid-slug/",
+            expectedNewUrl: "/en/organization/$organizationId/$organizationSlug/",
+            expectedCurrentRoute: 'app_anonymous_organization_display_one_organization',
+            expectedNewRoute: 'app_anonymous_organization_display_one_organization',
+        );
+        $this->checkRedirectionToNewUrl(
+            client: $client,
+            currentUrl: "/fr/organisation/$organizationId/not-valid-slug/",
+            expectedNewUrl: "/fr/organisation/$organizationId/$organizationSlug/",
+            expectedCurrentRoute: 'app_anonymous_organization_display_one_organization',
+            expectedNewRoute: 'app_anonymous_organization_display_one_organization',
+        );
+    }
+
 }