diff --git a/api/funkwhale_api/music/tasks.py b/api/funkwhale_api/music/tasks.py
index 76bc3897f437050297f12961bd9de551fc5460d1..c8fed58410d9abacd4f5872451a48238b8988840 100644
--- a/api/funkwhale_api/music/tasks.py
+++ b/api/funkwhale_api/music/tasks.py
@@ -273,7 +273,7 @@ def federation_audio_track_to_metadata(payload):
     new_data = {
         "title": payload["name"],
         "album": payload["album"]["name"],
-        "track_number": payload["position"],
+        "track_number": payload.get("position") or 1,
         "disc_number": payload.get("disc"),
         "artist": payload["artists"][0]["name"],
         "album_artist": payload["album"]["artists"][0]["name"],
diff --git a/changes/changelog.d/null-position.bugfix b/changes/changelog.d/null-position.bugfix
new file mode 100644
index 0000000000000000000000000000000000000000..a3c7b5a028670a9c65c8d611ee41ba1770980c77
--- /dev/null
+++ b/changes/changelog.d/null-position.bugfix
@@ -0,0 +1 @@
+Fixed a crash when federating a track with unspecified position