diff --git a/mercurial/merge.py b/mercurial/merge.py
index 4b79e92a5ef8dcb02d2266e6f1c3c94ee90db2c7_bWVyY3VyaWFsL21lcmdlLnB5..58e7ee23ddbd2e90ce4a256a2f2d182c03d0b73e_bWVyY3VyaWFsL21lcmdlLnB5 100644
--- a/mercurial/merge.py
+++ b/mercurial/merge.py
@@ -817,6 +817,22 @@
                     args = (f, f, None, False, pa.node())
                     msg = b'both created'
                 mresult.addfile(f, mergestatemod.ACTION_MERGE, args, msg)
+            elif f in branch_copies1.copy:
+                fa = branch_copies1.copy[f]
+                mresult.addfile(
+                    f,
+                    mergestatemod.ACTION_MERGE,
+                    (f, fa, fa, False, pa.node()),
+                    b'local replaced from %s' % fa,
+                )
+            elif f in branch_copies2.copy:
+                fa = branch_copies2.copy[f]
+                mresult.addfile(
+                    f,
+                    mergestatemod.ACTION_MERGE,
+                    (fa, f, fa, False, pa.node()),
+                    b'other replaced from %s' % fa,
+                )
             else:
                 a = ma[f]
                 fla = ma.flags(f)
diff --git a/tests/test-copies.t b/tests/test-copies.t
index 4b79e92a5ef8dcb02d2266e6f1c3c94ee90db2c7_dGVzdHMvdGVzdC1jb3BpZXMudA==..58e7ee23ddbd2e90ce4a256a2f2d182c03d0b73e_dGVzdHMvdGVzdC1jb3BpZXMudA== 100644
--- a/tests/test-copies.t
+++ b/tests/test-copies.t
@@ -496,8 +496,9 @@
   1 files updated, 0 files merged, 0 files removed, 1 files unresolved
   use 'hg resolve' to retry unresolved file merges or 'hg merge --abort' to abandon
   [1]
-BROKEN: should be "modified"
+This should ideally be "modified", but we will probably not be able to fix
+that in the filelog case.
   $ cat y
   original
 #else
   $ hg merge 2
@@ -500,6 +501,7 @@
   $ cat y
   original
 #else
   $ hg merge 2
-  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
+  merging x and y to y
+  0 files updated, 1 files merged, 0 files removed, 0 files unresolved
   (branch merge, don't forget to commit)
@@ -505,3 +507,2 @@
   (branch merge, don't forget to commit)
-BROKEN: should be "modified"
   $ cat y
@@ -507,5 +508,5 @@
   $ cat y
-  original
+  modified
 #endif
 Same as above, but in the opposite direction
 #if filelog
@@ -523,5 +524,6 @@
 #else
   $ hg co -qC 2
   $ hg merge 3
-  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
+  merging y and x to y
+  0 files updated, 1 files merged, 0 files removed, 0 files unresolved
   (branch merge, don't forget to commit)
@@ -527,3 +529,2 @@
   (branch merge, don't forget to commit)
-BROKEN: should be "modified"
   $ cat y
@@ -529,5 +530,5 @@
   $ cat y
-  original
+  modified
 #endif
 
 Create x and y, then rename x to z on one side of merge, and rename y to z and