diff --git a/api/funkwhale_api/playlists/serializers.py b/api/funkwhale_api/playlists/serializers.py
index 2f71c8239c5fa48949afaa36d5cf2bf71daead58..ebbbae0b07e98e8e8f975d64a7e030c9880016bd 100644
--- a/api/funkwhale_api/playlists/serializers.py
+++ b/api/funkwhale_api/playlists/serializers.py
@@ -62,34 +62,20 @@ class PlaylistTrackWriteSerializer(serializers.ModelSerializer):
         return []
 
 
-class PlaylistWriteSerializer(serializers.ModelSerializer):
-
-    class Meta:
-        model = models.Playlist
-        fields = [
-            'id',
-            'name',
-            'privacy_level',
-        ]
-
-
 class PlaylistSerializer(serializers.ModelSerializer):
-    tracks_count = serializers.SerializerMethodField()
-    user = UserBasicSerializer()
+    tracks_count = serializers.SerializerMethodField(read_only=True)
+    user = UserBasicSerializer(read_only=True)
 
     class Meta:
         model = models.Playlist
         fields = (
             'id',
             'name',
-            'user',
             'tracks_count',
-            'privacy_level',
-            'creation_date',
-            'modification_date')
+            'user',
+            'privacy_level',)
         read_only_fields = [
             'id',
-            'user',
             'modification_date',
             'creation_date',]
 
diff --git a/api/funkwhale_api/playlists/views.py b/api/funkwhale_api/playlists/views.py
index 7b2e7651d3a7876273fef816e44a85771cc32cf0..683f90388885ecb5337bed10b16ef3c7d9b866a4 100644
--- a/api/funkwhale_api/playlists/views.py
+++ b/api/funkwhale_api/playlists/views.py
@@ -38,11 +38,6 @@ class PlaylistViewSet(
     filter_class = filters.PlaylistFilter
     ordering_fields = ('id', 'name', 'creation_date', 'modification_date')
 
-    def get_serializer_class(self):
-        if self.request.method in ['PUT', 'PATCH', 'DELETE', 'POST']:
-            return serializers.PlaylistWriteSerializer
-        return self.serializer_class
-
     @detail_route(methods=['get'])
     def tracks(self, request, *args, **kwargs):
         playlist = self.get_object()
diff --git a/api/tests/playlists/test_views.py b/api/tests/playlists/test_views.py
index e70fef6f0da6b22bc22df90c924a86e82207c95c..5bf83488859177aaf4e756a5f25668f568641b35 100644
--- a/api/tests/playlists/test_views.py
+++ b/api/tests/playlists/test_views.py
@@ -182,3 +182,16 @@ def test_can_clear_playlist_from_api(
 
     assert response.status_code == 204
     assert playlist.playlist_tracks.count() == 0
+
+
+def test_update_playlist_from_api(
+        factories, mocker, logged_in_api_client):
+    playlist = factories['playlists.Playlist'](user=logged_in_api_client.user)
+    plts = factories['playlists.PlaylistTrack'].create_batch(
+        size=5, playlist=playlist)
+    url = reverse('api:v1:playlists-detail', kwargs={'pk': playlist.pk})
+    response = logged_in_api_client.patch(url, {'name': 'test'})
+    playlist.refresh_from_db()
+
+    assert response.status_code == 200
+    assert response.data['user']['username'] == playlist.user.username