diff --git a/api/funkwhale_api/radios/radios.py b/api/funkwhale_api/radios/radios.py
index 08329c6ead3ec09761864beeecede740911fa8b4..a85111983a37c85b6b7c4e53bbf2e6df61fca422 100644
--- a/api/funkwhale_api/radios/radios.py
+++ b/api/funkwhale_api/radios/radios.py
@@ -102,7 +102,7 @@ class SessionRadio(SimpleRadio):
 class RandomRadio(SessionRadio):
     def get_queryset(self, **kwargs):
         qs = super().get_queryset(**kwargs)
-        return qs.order_by("?")
+        return qs.filter(artist__content_category="music").order_by("?")
 
 
 @registry.register(name="favorites")
@@ -116,7 +116,7 @@ class FavoritesRadio(SessionRadio):
     def get_queryset(self, **kwargs):
         qs = super().get_queryset(**kwargs)
         track_ids = kwargs["user"].track_favorites.all().values_list("track", flat=True)
-        return qs.filter(pk__in=track_ids)
+        return qs.filter(pk__in=track_ids, artist__content_category="music")
 
 
 @registry.register(name="custom")
@@ -271,7 +271,11 @@ class LessListenedRadio(SessionRadio):
     def get_queryset(self, **kwargs):
         qs = super().get_queryset(**kwargs)
         listened = self.session.user.listenings.all().values_list("track", flat=True)
-        return qs.exclude(pk__in=listened).order_by("?")
+        return (
+            qs.filter(artist__content_category="music")
+            .exclude(pk__in=listened)
+            .order_by("?")
+        )
 
 
 @registry.register(name="actor_content")
diff --git a/changes/changelog.d/1140.bugfix b/changes/changelog.d/1140.bugfix
new file mode 100644
index 0000000000000000000000000000000000000000..d9702a5f456f48490ac792e7f8f13b7e57d2615e
--- /dev/null
+++ b/changes/changelog.d/1140.bugfix
@@ -0,0 +1 @@
+Fix random radio so that podcast content is not picked up (#1140)
\ No newline at end of file