diff --git a/contrib/debian/rules b/contrib/debian/rules
--- a/contrib/debian/rules
+++ b/contrib/debian/rules
@@ -33,4 +33,6 @@
 	cp contrib/debian/*.rc $(CURDIR)/debian/mercurial-common/etc/mercurial/hgrc.d/
 	mkdir -p $(CURDIR)/debian/mercurial-common/usr/share/bash-completion/completions
 	cp contrib/bash_completion $(CURDIR)/debian/mercurial-common/usr/share/bash-completion/completions/hg
+	mkdir -p $(CURDIR)/debian/mercurial-common/usr/share/zsh/vendor-completions
+	cp contrib/zsh_completion $(CURDIR)/debian/mercurial-common/usr/share/zsh/vendor-completions/_hg
 	rm $(CURDIR)/debian/mercurial-common/usr/bin/hg
diff --git a/tests/test-debian-packages.t b/tests/test-debian-packages.t
--- a/tests/test-debian-packages.t
+++ b/tests/test-debian-packages.t
@@ -21,3 +21,6 @@
 mercurial-common should have py but no .so or pyc
   $ dpkg --contents mercurial-common_*.deb | egrep '(localrepo|parsers.*so)'
   * ./usr/lib/python2.7/dist-packages/mercurial/localrepo.py (glob)
+zsh completions should be in the common package
+  $ dpkg --contents mercurial-common_*.deb | egrep 'zsh.*[^/]$'
+  * ./usr/share/zsh/vendor-completions/_hg (glob)