diff --git a/expander/serializers.py b/expander/serializers.py
index <HASH>..<HASH> 100644
--- a/expander/serializers.py
+++ b/expander/serializers.py
@@ -40,6 +40,8 @@ class ExpanderSerializerMixin(object):
                     kwargs = {}
                     serializer_class = serializer_class_info
 
+                kwargs.setdefault('context', self.context)
+
                 # If the serializer class isn't an expander then it can't handle the expanded_fields kwarg.
                 if issubclass(serializer_class, ExpanderSerializerMixin):
                     serializer = serializer_class(*args, expanded_fields=next_level_expanded_field, **kwargs)
diff --git a/tests/project/views.py b/tests/project/views.py
index <HASH>..<HASH> 100644
--- a/tests/project/views.py
+++ b/tests/project/views.py
@@ -43,6 +43,11 @@ class MenuItemOptionChoiceSerializer(serializers.ModelSerializer):
         model = MenuItemOptionChoice
         fields = ('id', 'title')
 
+    def to_representation(self, obj):
+        # test: make sure the context is passed through
+        assert self.context['request']
+        return super(MenuItemOptionChoiceSerializer, self).to_representation(obj)
+
 
 class MenuItemOptionSerializer(ExpanderSerializerMixin, serializers.ModelSerializer):
     class Meta:
pass serializer context to expanded serializers