diff --git a/funkwhale_cli/cli/tracks.py b/funkwhale_cli/cli/tracks.py
index 3bdfaeec9ef6075e051a50375d7fd1567e11ae17..4cfa1a833745d2564e2bcc2ccb0d48fbf1631f5e 100644
--- a/funkwhale_cli/cli/tracks.py
+++ b/funkwhale_cli/cli/tracks.py
@@ -58,14 +58,13 @@ async def get_track_download_url(id, remote, format=None):
 
 def extract_filename_params(track_data, format):
     filename_params = utils.flatten(track_data)
-    filename_params["album"] = filename_params["album_title"]
-    filename_params["artist"] = filename_params["artist_name"]
+    filename_params["album"] = filename_params.get("album_title", None)
+    filename_params["artist"] = filename_params.get("artist_name", None)
     filename_params["extension"] = format
-    filename_params["year"] = (
-        filename_params["album_release_date"][:4]
-        if filename_params["album_release_date"]
-        else None
-    )
+    try:
+        filename_params["year"] = filename_params["album_release_date"][:4]
+    except (KeyError, TypeError):
+        filename_params["year"] = None
     return {
         k: utils.sanitize_recursive(v) for k, v in filename_params.items()
     }