diff --git a/ella/api/serialization.py b/ella/api/serialization.py
index <HASH>..<HASH> 100644
--- a/ella/api/serialization.py
+++ b/ella/api/serialization.py
@@ -1,6 +1,7 @@
 import logging
 
 from django.http import HttpResponse
+from django.utils.cache import patch_vary_headers
 
 __all__ = ['response_serializer', 'object_serializer', 'FULL', 'PARTIAL']
 
@@ -21,8 +22,10 @@ class ResponseSerializer(object):
         return mimetype in self._registry
 
     def serialize(self, data, mimetype):
-        return HttpResponse(self._registry[mimetype](data), content_type=mimetype)
-
+        response = HttpResponse(self._registry[mimetype](data), content_type=mimetype)
+        # signalize to the cache middleware that this responds depends on the Accept http header
+        patch_vary_headers(response, ('Accept', ))
+        return response
 
 class ObjectSerializer(object):
     def __init__(self):
let the api play nice with cache