diff --git a/libsoup/soup-cache.c b/libsoup/soup-cache.c
index 25c0709..7cd5b30 100644
--- a/libsoup/soup-cache.c
+++ b/libsoup/soup-cache.c
@@ -113,7 +113,7 @@ static SoupCacheability
 get_cacheability (SoupCache *cache, SoupMessage *msg)
 {
 	SoupCacheability cacheability;
-	const char *cache_control;
+	const char *cache_control, *content_type;
 
 	/* 1. The request method must be cacheable */
 	if (msg->method == SOUP_METHOD_GET)
@@ -125,6 +125,10 @@ get_cacheability (SoupCache *cache, SoupMessage *msg)
 	else
 		return (SOUP_CACHE_UNCACHEABLE | SOUP_CACHE_INVALIDATES);
 
+	content_type = soup_message_headers_get_content_type (msg->response_headers, NULL);
+	if (content_type && !g_ascii_strncasecmp(content_type, "multipart/x-mixed-replace", 25))
+		return SOUP_CACHE_UNCACHEABLE;
+
 	cache_control = soup_message_headers_get (msg->response_headers, "Cache-Control");
 	if (cache_control) {
 		GHashTable *hash;
