diff -r bf7c5b2484e3 -r 8a1573991d22 razor.c --- a/razor.c Tue Mar 11 17:49:00 2008 -0400 +++ b/razor.c Tue Mar 11 18:08:12 2008 -0400 @@ -2292,7 +2292,12 @@ if (already->new_package == new_package) { /* Already taken care of */ return; + } else if (new_package_set == trans->upstream && + already->state == RAZOR_PACKAGE_FORCED_UPDATE) { + already->new_package = new_package; + return; } + /* Oops. We lose */ if (state != RAZOR_PACKAGE_CONTRADICTION) contradiction = 1; @@ -2304,7 +2309,11 @@ if (already->old_package == old_package) { /* Already taken care of */ return; + } else if (old_package_set == trans->system) { + already->old_package = old_package; + return; } + /* Oops. We lose */ if (state != RAZOR_PACKAGE_CONTRADICTION) contradiction = 1;