--- /dev/null
+Based on http://rpm.org/gitweb?p=rpm.git;a=commitdiff;h=cf1095648194104a81a58abead05974a5bfa3b9a
+====================
+--- a/lib/rpmfi.c 2013-02-04 10:29:59.342666296 +0100
++++ b/lib/rpmfi.c 2013-02-04 10:32:26.192721679 +0100
+@@ -542,19 +542,13 @@
+
+ int rpmfiCompareIndex(rpmfi afi, int aix, rpmfi bfi, int bix)
+ {
+- mode_t amode = rpmfiFModeIndex(afi, aix);
+- mode_t bmode = rpmfiFModeIndex(bfi, bix);
+- rpmFileTypes awhat = rpmfiWhatis(amode);
++ rpmFileTypes awhat = rpmfiWhatis(rpmfiFModeIndex(afi, aix));
++ rpmFileTypes bwhat = rpmfiWhatis(rpmfiFModeIndex(bfi, bix));
+
+ if ((rpmfiFFlagsIndex(afi, aix) & RPMFILE_GHOST) ||
+ (rpmfiFFlagsIndex(bfi, bix) & RPMFILE_GHOST)) return 0;
+
+- if (amode != bmode) return 1;
+-
+- if (!rstreq(rpmfiFUserIndex(afi, aix), rpmfiFUserIndex(bfi, bix)))
+- return 1;
+- if (!rstreq(rpmfiFGroupIndex(afi, aix), rpmfiFGroupIndex(bfi, bix)))
+- return 1;
++ if (awhat != bwhat) return 1;
+
+ if (awhat == LINK) {
+ const char * alink = rpmfiFLinkIndex(afi, aix);