diff -r a046d6890761 -r 177f3b90335f hgext/rebase.py --- a/hgext/rebase.py Thu Mar 15 21:40:51 2018 -0700 +++ b/hgext/rebase.py Thu Mar 15 22:35:07 2018 -0700 @@ -1544,7 +1544,8 @@ # If the first commits in the rebased set get skipped during the rebase, # their values within the state mapping will be the dest rev id. The # rebased list must must not contain the dest rev (issue4896) - rebased = [s for r, s in state.items() if s >= 0 and s != destmap[r]] + rebased = [s for r, s in state.items() + if s >= 0 and s != r and s != destmap[r]] immutable = [d for d in rebased if not repo[d].mutable()] cleanup = True if immutable: