diff --git a/README.md b/README.md
index 0f0d2fc76b60616e3607a47b6aea1eeb3b1bc4a8..26ec83192230afd51bd56dd68deeccd08ded7918 100644
--- a/README.md
+++ b/README.md
@@ -37,6 +37,7 @@ class Todo(models.Model):
 
 ```
 
+#### 3.1 Configure field visibility (optional) 
 Note that at this stage you can limit access to certain fields of models using
 
 ```
@@ -53,6 +54,8 @@ from django.contrib.auth.models import User
 User._meta.serializer_fields  = ('username','first_name','last_name')
 ```
 
+Note that this will be overridden if you explicitly set the fields= parameter as an argument to LDPViewSet.urls(), and filtered if you set the excludes= parameter.
+
 ### 4- Add a url in your urls.py:
 
 ```
diff --git a/djangoldp/serializers.py b/djangoldp/serializers.py
index 933d4e80fc91dac4f5ac24eebbd3f4077ab85feb..453363132a9d8d9e7f7b7452fbd4b36f0300d6f5 100644
--- a/djangoldp/serializers.py
+++ b/djangoldp/serializers.py
@@ -81,10 +81,11 @@ class LDPSerializer(HyperlinkedModelSerializer):
     serializer_url_field = JsonLdIdentityField
     
     def get_default_field_names(self, declared_fields, model_info):
-        fields = super().get_default_field_names(declared_fields, model_info)
-        excludes = list(getattr(self.Meta, 'exclude', []))
-        extra = list(getattr(self.Meta, 'extra_fields', []))
-        return [f for f in fields if f not in excludes] + extra
+        try:
+            fields = list(self.Meta.model._meta.serializer_fields)
+        except:
+            fields = super().get_default_field_names(declared_fields, model_info)
+        return fields + list(getattr(self.Meta, 'extra_fields', []))
     
     def to_representation(self, obj):
         data = super().to_representation(obj)