--- yelp-2.30.0/src/yelp-utils.c.orig	2010-01-21 21:36:50.000000000 +0000
+++ yelp-2.30.0/src/yelp-utils.c	2010-04-19 13:21:08.000000000 +0100
@@ -218,7 +218,8 @@ resolve_full_file (const gchar *path)
 	type = YELP_RRN_TYPE_XHTML;
     }
     else if (g_str_equal (mime_type, "application/x-gzip")) {
-	if (g_str_has_suffix (path, ".info.gz")) {
+	if (g_str_has_suffix (path, ".info.gz") ||
+	    g_str_has_prefix (path, "/usr/share/info/")) {
 	    type = YELP_RRN_TYPE_INFO;
 	} else if (resolve_is_man_path (path, "gz")) {
 	    type = YELP_RRN_TYPE_MAN;
@@ -226,28 +227,32 @@ resolve_full_file (const gchar *path)
 
     }
     else if (g_str_equal (mime_type, "application/x-bzip")) {
-	if (g_str_has_suffix (path, ".info.bz2")) {
+	if (g_str_has_suffix (path, ".info.bz2") ||
+	    g_str_has_prefix (path, "/usr/share/info/")) {
 	    type = YELP_RRN_TYPE_INFO;
 	} else if (resolve_is_man_path (path, "bz2")) {
 	    type = YELP_RRN_TYPE_MAN;
 	}
     }
     else if (g_str_equal (mime_type, "application/x-lzma")) {
-	if (g_str_has_suffix (path, ".info.lzma")) {
+	if (g_str_has_suffix (path, ".info.lzma") ||
+	    g_str_has_prefix (path, "/usr/share/info/")) {
 	    type = YELP_RRN_TYPE_INFO;
 	} else if (resolve_is_man_path (path, "lzma")) {
 	    type = YELP_RRN_TYPE_MAN;
 	}
     }
     else if (g_str_equal (mime_type, "application/octet-stream")) {
-	if (g_str_has_suffix (path, ".info")) {
+	if (g_str_has_suffix (path, ".info") ||
+	    g_str_has_prefix (path, "/usr/share/info/")) {
 	    type = YELP_RRN_TYPE_INFO;
 	} else if (resolve_is_man_path (path, NULL)) {
 	    type = YELP_RRN_TYPE_MAN;
 	}
     }
     else if (g_str_equal (mime_type, "text/plain")) {
-	if (g_str_has_suffix (path, ".info")) {
+	if (g_str_has_suffix (path, ".info") ||
+	    g_str_has_prefix (path, "/usr/share/info/")) {
 	    type = YELP_RRN_TYPE_INFO;
 	} else if (resolve_is_man_path (path, NULL)) {
 	    type = YELP_RRN_TYPE_MAN;
