diff --git a/src/Service/SpotifyPlaylistService.php b/src/Service/SpotifyPlaylistService.php
index 8104551da9c331f69679ed98ad09004fcea3f812..c5441eeb7d82baa054d886e653ccd14fda2e079e 100644
--- a/src/Service/SpotifyPlaylistService.php
+++ b/src/Service/SpotifyPlaylistService.php
@@ -3,6 +3,7 @@
 namespace App\Service;
 
 use DateTime;
+use SpotifyWebAPI\SpotifyWebAPIException;
 
 class SpotifyPlaylistService
 {
@@ -163,8 +164,9 @@ class SpotifyPlaylistService
                 $tracksCount = \count($selectedPlaylistTracks);
 
                 // Split playlist in two tracks lists
-                $tracksList1 = $this->pickRandomTracksFromArray($selectedPlaylistTracks, max(intval($count / 5), intval($tracksCount / 5)));
-                $tracksList2 = $this->pickRandomTracksFromArray($selectedPlaylistTracks, max(intval($count / 5), intval($tracksCount / 5)));
+                $splittedTracksListLength = max(intval($count / 5), intval($tracksCount / 5));
+                $tracksList1 = $this->pickRandomTracksFromArray($selectedPlaylistTracks, $splittedTracksListLength);
+                $tracksList2 = $this->pickRandomTracksFromArray($selectedPlaylistTracks, $splittedTracksListLength);
 
                 // Directly pick first part of this playlist
                 foreach ($tracksList1 as $trackId) {
@@ -172,14 +174,21 @@ class SpotifyPlaylistService
                 }
 
                 // Get recommandations for other part
-                $chunks = array_chunk($tracksList2, 5);
+                $chunks = \array_chunk($tracksList2, 5);
                 foreach ($chunks as $chunk) {
-                    $recommendations = $api->getRecommendations([
-                        'seed_tracks' => $chunk,
-                        'limit' => \count($chunk)
-                    ]);
-                    foreach ($recommendations->tracks as $recommendedTrack) {
-                        $trackIds[$recommendedTrack->id] = $recommendedTrack;
+                    try {
+                        $recommendations = $api->getRecommendations([
+                            'seed_tracks' => $chunk,
+                            'limit' => \count($chunk)
+                        ]);
+                        foreach ($recommendations->tracks as $recommendedTrack) {
+                            $trackIds[$recommendedTrack->id] = $recommendedTrack->id;
+                        }
+                    } catch (SpotifyWebAPIException $e) {
+                        // Failed on retrieve recommendations => add seed tracks instead
+                        foreach ($chunk as $fallbackTrackId) {
+                            $trackIds[$fallbackTrackId] = $fallbackTrackId;
+                        }
                     }
                 }
             }