By regex search and replace, this patch resets obvious self-blockers after the update, back to the original package name. --- /usr/lib/portage/pym/portage/update.py 2012-10-13 18:39:58.103791174 +0100 +++ update.py 2012-11-07 21:39:18.548708950 +0100 @@ -56,6 +56,9 @@ else: return "".join(matchobj.groups()) mycontent = re.sub("(%s-)(\\S*)" % old_value, myreplace, mycontent) + # revert self-blocks (#367215) + mycontent = re.sub("!" + new_value + "(\\s|$)", "!" + old_value + "\\1", mycontent) + elif update_cmd[0] == "slotmove" and update_cmd[1].operator is None: pkg, origslot, newslot = update_cmd[1:] old_value = "%s:%s" % (pkg, origslot)