diff --git a/app/Models/EpisodeModel.php b/app/Models/EpisodeModel.php
index 3ce3a8f616d765982846eb5760ce08e8795721af..5bf94d4635c63df45886d9d42b3d6100aad13c01 100644
--- a/app/Models/EpisodeModel.php
+++ b/app/Models/EpisodeModel.php
@@ -270,7 +270,7 @@ class EpisodeModel extends Model
         $sortNumberField =
             $podcastType == 'serial'
                 ? 'if(isnull(season_number),0,season_number)*1000+number'
-                : 'published_at';
+                : 'if(isnull(season_number),0,season_number)*100000000000000+published_at';
         $sortNumberValue =
             $podcastType == 'serial'
                 ? (empty($episode->season_number)
@@ -278,7 +278,11 @@ class EpisodeModel extends Model
                         : $episode->season_number) *
                         1000 +
                     $episode->number
-                : $episode->published_at;
+                : (empty($episode->season_number)
+                        ? 0
+                        : $episode->season_number) *
+                        100000000000000 +
+                    date('YmdHis', strtotime($episode->published_at));
 
         $previousData = $this->orderBy('(' . $sortNumberField . ') DESC')
             ->where([