diff --git a/src/lib/components/ShowDetail.svelte b/src/lib/components/ShowDetail.svelte
index a9e5bcf0bd0a03c7b2a849866234b43d2e45f63a..26ddbba85c8940dbdd63136f02106d677e996017 100644
--- a/src/lib/components/ShowDetail.svelte
+++ b/src/lib/components/ShowDetail.svelte
@@ -124,15 +124,19 @@
 		let next = [];
 		let gotCurrent = false;
 		for (let episode of data) {
+			// Future and current episode
 			if (new Date(episode.end) > new Date()) {
+				// Current episode
 				if (!gotCurrent) {
 					// Mark the current, next episode
 					episode['isCurrent'] = true;
 					gotCurrent = true;
 					past.push(episode);
+					// Future episode
 				} else {
 					next.push(episode);
 				}
+				// Past episode
 			} else {
 				past.push(episode);
 			}
@@ -143,8 +147,17 @@
 		past = past.slice(0, defaultPastEpisodes);
 		episodes = past;
 		console.log('Base episodes of show API response:', data);
+
+		// Limit and order all future episodes
 		episodesNext = next.slice(0, maxFutureEpisodes).reverse();
-		console.log('Next (n) episodes of show API response:', data);
+		console.log('Next (n) episodes of show API response:', episodesNext);
+
+		// Return all future episodes which have some title & description
+		const episodesCompleteNext = next.filter(
+			(e) => e.note.title && (e.note.summary || e.note.content)
+		);
+		episodes = episodesCompleteNext.concat(episodes);
+		console.log('Next complete episodes of show API response:', episodesCompleteNext);
 
 		show = tmp_show;