diff --git a/tests/test-copies.t b/tests/test-copies.t
--- a/tests/test-copies.t
+++ b/tests/test-copies.t
@@ -746,3 +746,34 @@
   $ hg graft -r 6 --base 4 --hidden -t :other
   grafting 6:99802e4f1e46 "added willconflict and d" (tip) (no-changeset !)
   grafting 6:b19f0df72728 "added willconflict and d" (tip) (changeset !)
+
+Test rebasing a commit after amending rename of added file into its parent
+(issue 5457)
+
+  $ cat << EOF >> $HGRCPATH
+  > [experimental]
+  > evolution.createmarkers = True
+  > evolution.allowunstable = True
+  > EOF
+  $ newrepo
+  $ echo a > a
+  $ hg add a
+  $ hg ci -m "added a"
+  $ echo b > b
+  $ hg add b
+  $ hg ci -m "added b"
+  $ echo modified > b
+  $ hg ci -m "modified b"
+  $ hg co '.^'
+  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
+  $ hg mv b c
+  $ hg ci --amend -m "added c"
+  1 new orphan changesets
+  $ hg rebase -s 'desc("modified b")' -d .
+  rebasing 2:e3e0011b43ad "modified b" (changeset !)
+  rebasing 2:2612b8963c3f "modified b" (no-changeset !)
+  file 'b' was deleted in local [dest] but was modified in other [source].
+  You can use (c)hanged version, leave (d)eleted, or leave (u)nresolved.
+  What do you want to do? u
+  unresolved conflicts (see 'hg resolve', then 'hg rebase --continue')
+  [240]