diff -ur feedapi/parser_common_syndication/parser_common_syndication.module feedapi.patch/parser_common_syndication/parser_common_syndication.module
--- feedapi/parser_common_syndication/parser_common_syndication.module	2008-04-29 05:19:14.000000000 -0500
+++ feedapi.patch/parser_common_syndication/parser_common_syndication.module	2008-04-30 10:02:59.000000000 -0500
@@ -45,7 +45,17 @@
       if (_parser_common_syndication_feed_format_detect($xml) != FALSE) {
         // The parser is compatible. Then has to parse the feed and cache it. Because in the download
         // part, the feed etag data be already saved perhaps (depends on the webserver)
+
+        // We don't have to choose between the types, because this module is only able to parse one
+        $type = array_shift(parser_common_syndication_feedapi_feed('type'));
+
         $parsed_feed = _parser_common_syndication_feedapi_parse($xml);
+	// This must persist in the cache so we can return it later
+	// CF line 37:
+	// Annoying: the parsers don't set the type!
+	// Maybe *that* should be the correct fix?
+	$parsed_feed->type = $type;
+
         $cache_dir = _parser_common_syndication_sanitize_cache();
         $cache_filename = $cache_dir .'/'. md5($url);
         if ($cache_dir != FALSE && $parsed_feed->from_cache !== TRUE) {
@@ -53,8 +63,8 @@
           fwrite($fp, serialize($parsed_feed));
           fclose($fp);
         }
-        // We don't have to choose between the types, because this module is only able to parse one
-        return array_shift(parser_common_syndication_feedapi_feed('type'));
+
+        return $type;
       }
       return FALSE;
     case 'parse':
