diff --git a/api/funkwhale_api/subsonic/views.py b/api/funkwhale_api/subsonic/views.py
index 52f37c8704c1d2d7931eb28593db0812a1c96d1f..909f7a6e4853c07e318ec7c9ddd15e821147a52a 100644
--- a/api/funkwhale_api/subsonic/views.py
+++ b/api/funkwhale_api/subsonic/views.py
@@ -256,7 +256,7 @@ class SubsonicViewSet(viewsets.GenericViewSet):
         if max_bitrate:
             max_bitrate = max_bitrate * 1000
 
-        format = data.get("format", "raw") or None
+        format = data.get("format") or None
         if max_bitrate and not format:
             # specific bitrate requested, but no format specified
             # so we use a default one, cf #867. This helps with clients
diff --git a/api/tests/subsonic/test_views.py b/api/tests/subsonic/test_views.py
index cde07ac53d86f8298461597ae0f5559c1386bf79..e227f4d1d1abbb9db924cc20b6065ea37f58c9dd 100644
--- a/api/tests/subsonic/test_views.py
+++ b/api/tests/subsonic/test_views.py
@@ -288,15 +288,16 @@ def test_stream_transcode(
     mocker,
     settings,
 ):
+    upload = factories["music.Upload"](playable=True)
+    params = {"id": upload.track.pk, "maxBitRate": max_bitrate}
+    if format:
+        params["format"] = format
     settings.SUBSONIC_DEFAULT_TRANSCODING_FORMAT = default_transcoding_format
     url = reverse("api:subsonic-stream")
     mocked_serve = mocker.patch.object(
         music_views, "handle_serve", return_value=Response()
     )
-    upload = factories["music.Upload"](playable=True)
-    response = logged_in_api_client.get(
-        url, {"id": upload.track.pk, "maxBitRate": max_bitrate, "format": format}
-    )
+    response = logged_in_api_client.get(url, params)
 
     mocked_serve.assert_called_once_with(
         upload=upload,
diff --git a/changes/changelog.d/867.bugfix b/changes/changelog.d/867.bugfix
new file mode 100644
index 0000000000000000000000000000000000000000..ab690cc16711fc7a3215827b1d16990bd630d7e3
--- /dev/null
+++ b/changes/changelog.d/867.bugfix
@@ -0,0 +1 @@
+Fixed remaining transcoding issue with Subsonic API (#867)