diff --git a/tests/test-shelve.t b/tests/test-shelve.t
index 578b888c820e9b556d9ff63c6a83be213232d625_dGVzdHMvdGVzdC1zaGVsdmUudA==..11dbc38cebc6f4215fe2ae82468f50be1eabd809_dGVzdHMvdGVzdC1zaGVsdmUudA== 100644
--- a/tests/test-shelve.t
+++ b/tests/test-shelve.t
@@ -539,4 +539,42 @@
   adding file changes
   added 1 changesets with 1 changes to 2 files (+1 heads)
 
+unshelve should leave unknown files alone (issue4113)
+
+  $ echo e > e
+  $ hg shelve
+  shelved as default
+  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
+  $ hg status
+  ? e
+  $ hg unshelve
+  unshelving change 'default'
+  adding changesets
+  adding manifests
+  adding file changes
+  added 1 changesets with 1 changes to 2 files (+1 heads)
+  $ hg status
+  A d
+  ? e
+  $ cat e
+  e
+
+unshelve should keep a copy of unknown files
+
+  $ hg add e
+  $ hg shelve
+  shelved as default
+  0 files updated, 0 files merged, 2 files removed, 0 files unresolved
+  $ echo z > e
+  $ hg unshelve
+  unshelving change 'default'
+  adding changesets
+  adding manifests
+  adding file changes
+  added 1 changesets with 2 changes to 3 files (+1 heads)
+  $ cat e
+  e
+  $ cat e.orig
+  z
+
   $ cd ..