diff --git a/adjuster.py b/adjuster.py
index 68de5d482523ebc8eddae3a22c23d44d6b2577fb..7dadea3ab60d50429acd4d571de1f42caf3eabff 100755
--- a/adjuster.py
+++ b/adjuster.py
@@ -17,6 +17,7 @@ program_name = "Web Adjuster v0.262 (c) 2012-17 Silas S. Brown"
 # If you want to compare this code to old versions, the old
 # versions are being kept in the E-GuideDog SVN repository on
 # http://svn.code.sf.net/p/e-guidedog/code/ssb22/adjuster
+# and on GitHub at https://github.com/ssb22/adjuster
 # although some early ones are missing.
 
 import sys,os
diff --git a/annogen.py b/annogen.py
index 450c605aab7101a270c8e945a74d50e9a57e686a..0fc71ca3612f05085c8aa85662469690a4095ece 100755
--- a/annogen.py
+++ b/annogen.py
@@ -19,6 +19,7 @@ program_name = "Annotator Generator v0.628 (c) 2012-17 Silas S. Brown"
 # If you want to compare this code to old versions, the old
 # versions are being kept in the E-GuideDog SVN repository on
 # http://svn.code.sf.net/p/e-guidedog/code/ssb22/adjuster
+# and on GitHub at https://github.com/ssb22/adjuster
 # although some early ones are missing.
 
 from optparse import OptionParser
diff --git a/build-sync.sh b/build-sync.sh
new file mode 100755
index 0000000000000000000000000000000000000000..5a9ee008bade6984745b89af586385fdd0f369b5
--- /dev/null
+++ b/build-sync.sh
@@ -0,0 +1,5 @@
+#!/bin/bash
+wget -N http://people.ds.cam.ac.uk/ssb22/adjuster/adjuster.py
+wget -N http://people.ds.cam.ac.uk/ssb22/adjuster/annogen.py
+wget -N http://people.ds.cam.ac.uk/ssb22/adjuster/termlayout.py
+git commit -am update && git push
diff --git a/termlayout.py b/termlayout.py
index ee17e3316a35789a78f861f1f2e2f5a9ae2537e8..fdf45548520a69af8f27590a115efd635a991760 100644
--- a/termlayout.py
+++ b/termlayout.py
@@ -17,6 +17,7 @@
 # If you want to compare this code to old versions, the old
 # versions are being kept in the E-GuideDog SVN repository on
 # http://svn.code.sf.net/p/e-guidedog/code/ssb22/adjuster/
+# and on GitHub at https://github.com/ssb22/adjuster
 
 import re, unicodedata, os, sys