diff --git a/modules/Admin/Config/Routes.php b/modules/Admin/Config/Routes.php
index 586272ead682d233ae862ffb12f40b4a7c77b73f..ce09a16f991d712138db58ad0f98217e3a909fcb 100644
--- a/modules/Admin/Config/Routes.php
+++ b/modules/Admin/Config/Routes.php
@@ -333,7 +333,7 @@ $routes->group(
                             [
                                 'as' => 'episode-publish_date_edit',
                                 'filter' =>
-                                    'permission:podcast-manage_publications',
+                                    'permission:podcast#.episodes.manage-publications',
                             ],
                         );
                         $routes->post(
@@ -341,7 +341,7 @@ $routes->group(
                             'EpisodeController::attemptPublishDateEdit/$1/$2',
                             [
                                 'filter' =>
-                                    'permission:podcast-manage_publications',
+                                    'permission:podcast#.episodes.manage-publications',
                             ],
                         );
                         $routes->get(
diff --git a/modules/Admin/Controllers/EpisodeController.php b/modules/Admin/Controllers/EpisodeController.php
index 821c7bd751aed4e19d8c347d3e31d7ae88de898a..23a90cc693a26265499a4ab1135f127796ac38f9 100644
--- a/modules/Admin/Controllers/EpisodeController.php
+++ b/modules/Admin/Controllers/EpisodeController.php
@@ -74,6 +74,7 @@ class EpisodeController extends BaseController
                     ->where('podcast_id', $this->podcast->id)
                     ->like('title', $query)
                     ->orLike('description_markdown', $query)
+                    ->orderBy('-`published_at`', '', false)
                     ->orderBy('created_at', 'desc');
             } else {
                 $episodes = (new EpisodeModel())
@@ -83,6 +84,7 @@ class EpisodeController extends BaseController
         } else {
             $episodes = (new EpisodeModel())
                 ->where('podcast_id', $this->podcast->id)
+                ->orderBy('-`published_at`', '', false)
                 ->orderBy('created_at', 'desc');
         }
 
diff --git a/modules/Admin/Controllers/PodcastController.php b/modules/Admin/Controllers/PodcastController.php
index 4acc02fabe5501b0de93d84a03dbdc8db139b204..488fe464c2d3827cd5165ca9f5ebb2a89bf8d4d3 100644
--- a/modules/Admin/Controllers/PodcastController.php
+++ b/modules/Admin/Controllers/PodcastController.php
@@ -422,6 +422,7 @@ class PodcastController extends BaseController
     {
         $episodes = (new EpisodeModel())
             ->where('podcast_id', $podcastId)
+            ->orderBy('-`published_at`', '', false)
             ->orderBy('created_at', 'desc')
             ->findAll($limit);