diff --git a/api/funkwhale_api/subsonic/serializers.py b/api/funkwhale_api/subsonic/serializers.py
index 05075cf5b2dcf01cb6ce1fe98be1fbf66d2a52e9..fa6bc4475cb0d1887ac6688e201c49d6f4375aa3 100644
--- a/api/funkwhale_api/subsonic/serializers.py
+++ b/api/funkwhale_api/subsonic/serializers.py
@@ -33,13 +33,15 @@ def get_valid_filepart(s):
 
 
 def get_track_path(track, suffix):
-    artist_part = get_valid_filepart(track.artist.name)
-    album_part = get_valid_filepart(track.album.title)
+    parts = []
+    parts.append(get_valid_filepart(track.artist.name))
+    if track.album:
+        parts.append(get_valid_filepart(track.album.title))
     track_part = get_valid_filepart(track.title) + "." + suffix
     if track.position:
         track_part = "{} - {}".format(track.position, track_part)
-
-    return "/".join([artist_part, album_part, track_part])
+    parts.append(track_part)
+    return "/".join(parts)
 
 
 def get_artist_data(artist_values):
@@ -238,41 +240,6 @@ def get_playlist_detail_data(playlist):
     return data
 
 
-def get_music_directory_data(artist):
-    tracks = artist.tracks.select_related("album").prefetch_related("uploads")
-    data = {"id": artist.pk, "parent": 1, "name": artist.name, "child": []}
-    for track in tracks:
-        try:
-            upload = [upload for upload in track.uploads.all()][0]
-        except IndexError:
-            continue
-        album = track.album
-        td = {
-            "id": track.pk,
-            "isDir": "false",
-            "title": track.title,
-            "album": album.title,
-            "artist": artist.name,
-            "track": track.position or 1,
-            "year": track.album.release_date.year if track.album.release_date else 0,
-            "contentType": upload.mimetype,
-            "suffix": upload.extension or "",
-            "path": get_track_path(track, upload.extension or "mp3"),
-            "duration": upload.duration or 0,
-            "created": to_subsonic_date(track.creation_date),
-            "albumId": album.pk,
-            "artistId": artist.pk,
-            "parent": artist.id,
-            "type": "music",
-        }
-        if upload.bitrate:
-            td["bitrate"] = int(upload.bitrate / 1000)
-        if upload.size:
-            td["size"] = upload.size
-        data["child"].append(td)
-    return data
-
-
 def get_folders(user):
     return [
         # Dummy folder ID to match what is returned in the getMusicFolders endpoint
diff --git a/api/tests/subsonic/test_serializers.py b/api/tests/subsonic/test_serializers.py
index 3e568bb9fb334a60ee18ac336d2af0aaa42a01a9..a57631724268f32e9e8ed29d128f7127026a0ca0 100644
--- a/api/tests/subsonic/test_serializers.py
+++ b/api/tests/subsonic/test_serializers.py
@@ -252,43 +252,6 @@ def test_playlist_detail_serializer(factories):
     assert data == expected
 
 
-def test_directory_serializer_artist(factories):
-    track = factories["music.Track"]()
-    upload = factories["music.Upload"](track=track, bitrate=42000, duration=43, size=44)
-    album = track.album
-    artist = track.artist
-
-    expected = {
-        "id": artist.pk,
-        "parent": 1,
-        "name": artist.name,
-        "child": [
-            {
-                "id": track.pk,
-                "isDir": "false",
-                "title": track.title,
-                "album": album.title,
-                "artist": artist.name,
-                "track": track.position,
-                "year": track.album.release_date.year,
-                "contentType": upload.mimetype,
-                "suffix": upload.extension or "",
-                "path": serializers.get_track_path(track, upload.extension),
-                "bitrate": 42,
-                "duration": 43,
-                "size": 44,
-                "created": serializers.to_subsonic_date(track.creation_date),
-                "albumId": album.pk,
-                "artistId": artist.pk,
-                "parent": artist.pk,
-                "type": "music",
-            }
-        ],
-    }
-    data = serializers.get_music_directory_data(artist)
-    assert data == expected
-
-
 def test_scrobble_serializer(factories):
     upload = factories["music.Upload"]()
     track = upload.track