diff --git a/mercurial/dispatch.py b/mercurial/dispatch.py
index 5d9a5b9198639d2b36f5cadf45fa5b105377d538_bWVyY3VyaWFsL2Rpc3BhdGNoLnB5..81c97964d123cf1bb3f55ed1dd6ad1356fb47538_bWVyY3VyaWFsL2Rpc3BhdGNoLnB5 100644
--- a/mercurial/dispatch.py
+++ b/mercurial/dispatch.py
@@ -366,7 +366,7 @@
             # definition might not exist or it might not be a cmdalias
             pass
 
-        cmdtable[aliasdef.cmd] = (aliasdef, aliasdef.opts, aliasdef.help)
+        cmdtable[aliasdef.name] = (aliasdef, aliasdef.opts, aliasdef.help)
         if aliasdef.norepo:
             commands.norepo += ' %s' % alias
 
diff --git a/tests/test-alias.t b/tests/test-alias.t
index 5d9a5b9198639d2b36f5cadf45fa5b105377d538_dGVzdHMvdGVzdC1hbGlhcy50..81c97964d123cf1bb3f55ed1dd6ad1356fb47538_dGVzdHMvdGVzdC1hbGlhcy50 100644
--- a/tests/test-alias.t
+++ b/tests/test-alias.t
@@ -4,6 +4,8 @@
   > graphlog=
   > 
   > [alias]
+  > # should clobber ci but not commit (issue2993)
+  > ci = version
   > myinit = init
   > cleanstatus = status -c
   > unknown = bargle
@@ -113,7 +115,7 @@
   no rollback information available
 
   $ echo foo > foo
-  $ hg ci -Amfoo
+  $ hg commit -Amfoo
   adding foo
 
 
@@ -195,7 +197,7 @@
   $ hg echo2 foo
   
   $ echo bar > bar
-  $ hg ci -qA -m bar
+  $ hg commit -qA -m bar
   $ hg count .
   1
   $ hg count 'branch(default)'