diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 5c4983a637f4f1a3980393cc25299b2b91e16920..5a45da190ca98e4b5a2fe8f6b986d3312806fbe1 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -17,5 +17,5 @@ build:
     - mkdir -p ~/.ssh
     - cat gitlab-known-hosts >> ~/.ssh/known_hosts
   script:
-    - ./update-gluon.sh
+    - ./update-gluon.sh "$GLUON_MAJOR_VERSION"
   cache: {}
diff --git a/update-gluon.sh b/update-gluon.sh
index b691c8e1c0e14da0ce2d112b5b708c8961ebaf7e..a46183ec6c552b45a0f09f9476906a190b2390b0 100755
--- a/update-gluon.sh
+++ b/update-gluon.sh
@@ -4,11 +4,17 @@ set -x
 set -eu
 set -o pipefail
 
+gluon_major_version="${1:-}"
+if [ -z "$gluon_major_version" ]; then
+	echo "usage: $0 <gluon major version>" >&2
+	exit 1
+fi
 gluon_fork_git_url="ssh://git@gitlab.freifunk-stuttgart.de:22220/nrb/gluon-test.git"
 gluon_upstream_git_url="https://github.com/freifunk-gluon/gluon.git"
 site_git_url="ssh://git@gitlab.freifunk-stuttgart.de:22220/nrbffs/site-ffs.git"
 
-upstream_newest_minor=$(git ls-remote --tags --refs "$gluon_upstream_git_url" 'refs/tags/v2018.2*' | cut -d/ -f3 | sort -r -n -t. -k2 | head -n1)
+upstream_newest_minor=$(git ls-remote --tags --refs "$gluon_upstream_git_url" "refs/tags/$gluon_major_version"* | cut -d/ -f3 | sort -r -n -t. -k2 | head -n1)
+
 # branch name in our forked gluon
 fork_newest_minor_branch="$upstream_newest_minor-ffs"
 fork_newest_minor_tag="$upstream_newest_minor-ffs0.1"