Index: django/middleware/common.py
===================================================================
--- django/middleware/common.py	(revision 5023)
+++ django/middleware/common.py	(working copy)
@@ -73,7 +73,7 @@
         # Use ETags, if requested.
         if settings.USE_ETAGS:
             etag = md5.new(response.content).hexdigest()
-            if request.META.get('HTTP_IF_NONE_MATCH') == etag:
+            if (response.status_code == 200) and (request.META.get('HTTP_IF_NONE_MATCH') == etag):
                 response = http.HttpResponseNotModified()
             else:
                 response['ETag'] = etag
