diff --git a/Makefile b/Makefile
index c1c0d754a58be0fa2289bb9ef29c729f1276133d..39663709d9cc8aa4c10343107f602a8787d435a6 100644
--- a/Makefile
+++ b/Makefile
@@ -53,7 +53,7 @@ build/asdf.lisp: $(all_lisp)
 load: build/asdf.lisp
 	./test/run-tests.sh -t $l $(all_lisp)
 
-install: archive-copy
+install: archive
 
 bump: bump-version
 bump-version: build/asdf.lisp
@@ -70,14 +70,6 @@ archive: build/asdf.lisp
 	#	--eval "(rewrite-license)" --eval "(quit)"
 	./bin/asdf-builder make-and-publish-archive
 
-archive-copy: archive build/asdf.lisp
-	git checkout release
-	bin/rsync-cp build/asdf*.tar.gz $(webhome_private)/archives
-	bin/link-tarball $(clnet_home)
-	bin/rsync-cp build/asdf.lisp $(webhome_private)
-	${MAKE} push
-	git checkout master
-
 ### Count lines separately for asdf-driver and asdf itself:
 wc:
 	@wc $(driver_lisp) | sort -n ; echo ; \
@@ -194,7 +186,7 @@ TODO:
 
 release: TODO test-all test-on-other-machines-too debian-changelog debian-package send-mail-to-mailing-lists
 
-.PHONY: install archive archive-copy push doc website clean mrproper \
+.PHONY: install archive push doc website clean mrproper \
 	test-forward-references test test-lisp test-upgrade test-forward-references \
 	test-all test-all-lisps test-all-no-upgrade \
 	debian-package release \
@@ -206,7 +198,7 @@ release: TODO test-all test-on-other-machines-too debian-changelog debian-packag
 # make test-load-systems s=fare-all
 # make bump v=3.0
 # edit debian/changelog
-# make release-push archive-copy website debian-package
+# make release-push archive website debian-package
 # dput mentors ../*.changes
 # send debian mentors request
 # send announcement to asdf-announce, asdf-devel, etc.
diff --git a/bin/asdf-builder b/bin/asdf-builder
index c20ed73677ae60f748b217f5c931314c76cc36ad..058f14803b6b0608a131c6acff8c873cf6765923 100755
--- a/bin/asdf-builder
+++ b/bin/asdf-builder
@@ -159,8 +159,15 @@
   (values))
 
 (defun link-archive ()
-  (run `(ln -sf ,(tarname (driver-name))
-            (,*clnet-asdf-public* "archives/asdf-driver.tar.gz"))
+  (run (format nil "ln -sf ~S ~S ; ln -sf ~S ~S ; ln -sf ~S ~S ; ln -sf ~S ~S"
+               (tarname (driver-name))
+               (strcat *clnet-asdf-public* "archives/asdf-driver.tar.gz")
+               (tarname (asdf-defsystem-name))
+               (strcat *clnet-asdf-public* "archives/asdf-defsystem.tar.gz")
+               (tarname (asdf-git-name))
+               (strcat *clnet-asdf-public* "archives/asdf.tar.gz")
+               (asdf-lisp-name)
+               (strcat *clnet-asdf-public* "archives/asdf.lisp"))
        :show t :host *clnet*)
   (values))
 
diff --git a/bin/link-tarball b/bin/link-tarball
deleted file mode 100755
index cbf2c255acc0176407491698bf556c5fe64d9727..0000000000000000000000000000000000000000
--- a/bin/link-tarball
+++ /dev/null
@@ -1,25 +0,0 @@
-#!/bin/sh
-
-if [ -n $1 ]; then
-  clnet_home="$1"
-else
-  echo "Remote directory must be specified."
-  exit 2
-fi
-if [ -n "$2" ]; then
-  user="${2}@"
-else
-  echo "Remote username not specified"
-  echo "Assuming remote user is same as local"
-  echo "and/or you configured your .ssh/config with:"
-  echo "Host common-lisp.net"
-  echo "   User = foo"
-fi
-
-tarball=`ls tmp/asdf*.tar.gz`
-tarball=`basename $tarball`
-latest="asdf.tar.gz"
-
-echo "Link $tarball to $latest"
-ssh ${user}common-lisp.net "rm -f $clnet_home$latest; \
-  ln -s $clnet_home/archives/$tarball $clnet_home$latest"