diff --git a/var/spack/repos/builtin/packages/ghostscript/package.py b/var/spack/repos/builtin/packages/ghostscript/package.py
index f63ebac0c148b2b11156ee7c3f98ad313d8c4045..2e884b42788f3595fe3d48810dcf8d0ab7db63c5 100644
--- a/var/spack/repos/builtin/packages/ghostscript/package.py
+++ b/var/spack/repos/builtin/packages/ghostscript/package.py
@@ -29,14 +29,19 @@ class Ghostscript(Package):
     """An interpreter for the PostScript language and for PDF."""
 
     homepage = "http://ghostscript.com/"
-    url = "http://downloads.ghostscript.com/public/old-gs-releases/ghostscript-9.18.tar.gz"
+    url = "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs921/ghostscript-9.21.tar.gz"
 
+    version('9.21', '6f60d7fcb5eef6a8bec5abedf21c6a7008a8c0c7')
     version('9.18', '33a47567d7a591c00a253caddd12a88a')
 
     parallel = False
 
     depends_on('libtiff')
 
+    def url_for_version(self, version):
+        baseurl = "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs{0}/ghostscript-{1}.tar.gz"
+        return baseurl.format(version.joined, version.dotted)
+
     def install(self, spec, prefix):
         configure('--prefix={0}'.format(prefix),
                   '--with-system-libtiff')