I think it's not standards conform, but sometimes it is desireable to cache remote errors like 404 etc. Below is a runtime patch that wraps _entry_disposition() so that it uses the Cache-Control header also for errnous responses.
Automatic Patch-Based Exploit Generation is Possible: Techniques and Implications. David Brumley, Pongsin Poosankam, Dawn Song, and Jiang Zheng.
how patched various kernels were throughout the history of red hat.
fixes bug 1483903 (broken message id)
fixes bug 1474303 (timezone double offset)