diff --git a/tests/test-commit.t b/tests/test-commit.t
index c6146dd1007225f4c4808af155c79a12fbf31f9d_dGVzdHMvdGVzdC1jb21taXQudA==..d84da82764e3352333303bfa912574f812aa140f_dGVzdHMvdGVzdC1jb21taXQudA== 100644
--- a/tests/test-commit.t
+++ b/tests/test-commit.t
@@ -147,6 +147,18 @@
   oldhash=bar
   sourcehash=foo
 
+Failed commit with --addremove should not update dirstate
+
+  $ echo foo > newfile
+  $ hg status
+  ? newfile
+  $ HGEDITOR=false hg ci --addremove
+  adding newfile
+  abort: edit failed: false exited with status 1
+  [255]
+  $ hg status
+  A newfile
+
 Make sure we do not obscure unknown requires file entries (issue2649)
 
   $ echo foo >> foo