diff --git a/app/Entities/Media/Image.php b/app/Entities/Media/Image.php
index fa137f67cc1aef99f097efcf8b477f4a36e80083..b379b0382ed32badbd658eeacc12e693b70ccf7a 100644
--- a/app/Entities/Media/Image.php
+++ b/app/Entities/Media/Image.php
@@ -82,7 +82,7 @@ class Image extends BaseMedia
         $this->deleteSizes();
     }
 
-    private function saveSizes(): void
+    public function saveSizes(): void
     {
         // save derived sizes
         $imageService = service('image');
diff --git a/modules/Admin/Controllers/SettingsController.php b/modules/Admin/Controllers/SettingsController.php
index be84ea3d0da4b204b11a824d51b9afc39dc5add3..7f91371bbf2fa0cb38f38ba3c79bd77fe88bafd6 100644
--- a/modules/Admin/Controllers/SettingsController.php
+++ b/modules/Admin/Controllers/SettingsController.php
@@ -110,7 +110,10 @@ class SettingsController extends BaseController
         $allPodcasts = (new PodcastModel())->findAll();
 
         foreach ($allPodcasts as $podcast) {
-            $podcastImages = glob(ROOTPATH . "public/media/podcasts/{$podcast->handle}/*_*");
+            $podcastImages = glob(
+                ROOTPATH . 'public/' . config('App')->mediaRoot . "/podcasts/{$podcast->handle}/*_*{jpg,png,webp}",
+                GLOB_BRACE
+            );
 
             if ($podcastImages) {
                 foreach ($podcastImages as $podcastImage) {
@@ -119,19 +122,22 @@ class SettingsController extends BaseController
                     }
                 }
             }
-            $podcast->setCover($podcast->cover);
-            if ($podcast->banner_path !== null) {
-                $podcast->setBanner($podcast->banner);
+            $podcast->cover->saveSizes();
+            if ($podcast->banner_id !== null) {
+                $podcast->banner->saveSizes();
             }
 
             foreach ($podcast->episodes as $episode) {
-                if ($episode->cover_path !== null) {
-                    $episode->setCover($episode->cover);
+                if ($episode->cover_id !== null) {
+                    $episode->cover->saveSizes();
                 }
             }
         }
 
-        $personsImages = glob(ROOTPATH . 'public/media/persons/*_*');
+        $personsImages = glob(
+            ROOTPATH . 'public/' . config('App')->mediaRoot . '/persons/*_*{jpg,png,webp}',
+            GLOB_BRACE
+        );
         if ($personsImages) {
             foreach ($personsImages as $personsImage) {
                 if (is_file($personsImage)) {
@@ -142,8 +148,8 @@ class SettingsController extends BaseController
 
         $persons = (new PersonModel())->findAll();
         foreach ($persons as $person) {
-            if ($person->avatar_path !== null) {
-                $person->setAvatar($person->avatar);
+            if ($person->avatar_id !== null) {
+                $person->avatar->saveSizes();
             }
         }
 
diff --git a/themes/cp_app/podcast/about.php b/themes/cp_app/podcast/about.php
index 50a27c33b9bc53640fd8a08cd82fb1206d46aa4e..3ea8d70eab84f22ba676b364896bf7721b30951a 100644
--- a/themes/cp_app/podcast/about.php
+++ b/themes/cp_app/podcast/about.php
@@ -40,7 +40,7 @@
             <?= location_link($podcast->location, 'text-xs font-semibold p-2') ?>
         <?php endif; ?>
     </div>
-    <div class="mt-4">
+    <div class="mt-6">
         <h2 class="text-xs font-bold tracking-wider text-gray-600 uppercase border-b-2 border-subtle font-display"><?= lang('Podcast.stats.title') ?></h2>
         <div class="flex flex-col text-sm">
             <?php foreach ($stats as $key => $value): ?>