Backported fix. Seems to do no harm. --- ./lib/depends.c.orig 2005-12-14 19:51:34.000000000 +0000 +++ ./lib/depends.c 2006-01-27 21:05:13.000000000 +0000 @@ -1294,14 +1403,12 @@ int rpmtsOrder(rpmts ts) switch (rpmteType(p)) { case TR_REMOVED: /* Skip if not %preun/%postun requires or legacy prereq. */ - if (isInstallPreReq(Flags) - || !( isErasePreReq(Flags) || isLegacyPreReq(Flags) ) ) + if (!( isErasePreReq(Flags) || isLegacyPreReq(Flags) ) ) /*@innercontinue@*/ continue; /*@switchbreak@*/ break; case TR_ADDED: /* Skip if not %pre/%post requires or legacy prereq. */ - if (isErasePreReq(Flags) - || !( isInstallPreReq(Flags) || isLegacyPreReq(Flags) ) ) + if (!( isInstallPreReq(Flags) || isLegacyPreReq(Flags) ) ) /*@innercontinue@*/ continue; /*@switchbreak@*/ break; }