diff --git a/djangoldp/views.py b/djangoldp/views.py
index 09d0a54352248550cec9291ef3e86ecf8feb985b..a9c87bd0b8fb28c229334883148434087a143414 100644
--- a/djangoldp/views.py
+++ b/djangoldp/views.py
@@ -358,7 +358,6 @@ class LDPViewSet(LDPViewSetGenerator):
     parser_classes = (JSONLDParser,)
     authentication_classes = (NoCSRFAuthentication,)
     filter_backends = [LocalObjectOnContainerPathBackend]
-    write_serializer_class = None
 
     def __init__(self, **kwargs):
         super().__init__(**kwargs)
@@ -369,10 +368,8 @@ class LDPViewSet(LDPViewSetGenerator):
                 if hasattr(p, 'filter_class') and p.filter_class:
                     self.filter_backends.append(p.filter_class)
 
-        if self.serializer_class is None:
-            self.serializer_class = self.build_read_serializer()
-        if self.write_serializer_class is None:
-            self.write_serializer_class = self.build_write_serializer()
+        self.serializer_class = self.build_read_serializer()
+        self.write_serializer_class = self.build_write_serializer()
 
     def build_read_serializer(self):
         model_name = self.model._meta.object_name.lower()
@@ -402,11 +399,14 @@ class LDPViewSet(LDPViewSetGenerator):
 
     def build_serializer(self, meta_args, name_prefix):
         # create the Meta class to associate to LDPSerializer, using meta_args param
-
         meta_class = type('Meta', (), meta_args)
 
         from djangoldp.serializers import LDPSerializer
-        return type(LDPSerializer)(self.model._meta.object_name.lower() + name_prefix + 'Serializer', (LDPSerializer,),
+
+        if self.serializer_class is None:
+            self.serializer_class = LDPSerializer
+
+        return type(LDPSerializer)(self.model._meta.object_name.lower() + name_prefix + 'Serializer', (self.serializer_class,),
                                    {'Meta': meta_class})
 
     def is_safe_create(self, user, validated_data, *args, **kwargs):