diff --git a/mercurial/patch.py b/mercurial/patch.py
index 9a99224a6409b80be7ff5c653c308dfda16ae4b2_bWVyY3VyaWFsL3BhdGNoLnB5..6d42c797ca6e36ad4d6e20edc9162144c06f44c8_bWVyY3VyaWFsL3BhdGNoLnB5 100644
--- a/mercurial/patch.py
+++ b/mercurial/patch.py
@@ -1343,8 +1343,17 @@
         elif state == 'git':
             for gp in values:
                 path = pstrip(gp.oldpath)
-                data, mode = backend.getfile(path)
-                store.setfile(path, data, mode)
+                try:
+                    data, mode = backend.getfile(path)
+                except IOError, e:
+                    if e.errno != errno.ENOENT:
+                        raise
+                    # The error ignored here will trigger a getfile()
+                    # error in a place more appropriate for error
+                    # handling, and will not interrupt the patching
+                    # process.
+                else:
+                    store.setfile(path, data, mode)
         else:
             raise util.Abort(_('unsupported parser state: %s') % state)
 
diff --git a/tests/test-mq-missingfiles.t b/tests/test-mq-missingfiles.t
index 9a99224a6409b80be7ff5c653c308dfda16ae4b2_dGVzdHMvdGVzdC1tcS1taXNzaW5nZmlsZXMudA==..6d42c797ca6e36ad4d6e20edc9162144c06f44c8_dGVzdHMvdGVzdC1tcS1taXNzaW5nZmlsZXMudA== 100644
--- a/tests/test-mq-missingfiles.t
+++ b/tests/test-mq-missingfiles.t
@@ -73,6 +73,53 @@
   +c
   +c
 
+Test missing renamed file
+
+  $ hg qpop
+  popping changeb
+  patch queue now empty
+  $ hg up -qC 0
+  $ echo a > a
+  $ hg mv b bb
+  $ python ../writelines.py bb 2 'b\n' 10 'a\n' 2 'c\n'
+  $ echo c > c
+  $ hg add a c
+  $ hg qnew changebb
+  $ hg qpop
+  popping changebb
+  patch queue now empty
+  $ hg up -qC 1
+  $ hg qpush
+  applying changebb
+  patching file bb
+  Hunk #1 FAILED at 0
+  Hunk #2 FAILED at 7
+  2 out of 2 hunks FAILED -- saving rejects to file bb.rej
+  b not tracked!
+  patch failed, unable to continue (try -v)
+  patch failed, rejects left in working dir
+  errors during apply, please fix and refresh changebb
+  [2]
+  $ cat a
+  a
+  $ cat c
+  c
+  $ cat bb.rej
+  --- bb
+  +++ bb
+  @@ -1,3 +1,5 @@
+  +b
+  +b
+   a
+   a
+   a
+  @@ -8,3 +10,5 @@
+   a
+   a
+   a
+  +c
+  +c
+
   $ cd ..