diff --git a/bootstrap b/bootstrap
deleted file mode 100755
index 1153b7cbfa8ebf1465724396bc56ef00209983c7..0000000000000000000000000000000000000000
--- a/bootstrap
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/bash
-
-# Bootstrap script. Run it to update the repo.
-
-echo "- Updating submodules"
-git submodule update --init
-git submodule foreach git pull origin master
diff --git a/moogli b/moogli
index 967c9fbe7519a749cfa00a0248e5b0f63b970998..9681522f43bbc0dde26f282138e93e5b5b85aa81 160000
--- a/moogli
+++ b/moogli
@@ -1 +1 @@
-Subproject commit 967c9fbe7519a749cfa00a0248e5b0f63b970998
+Subproject commit 9681522f43bbc0dde26f282138e93e5b5b85aa81
diff --git a/moose-core b/moose-core
index e0b5642a1cb25c2620db2f94203afa5ae3def2ef..af822336e42d4e933f50f664beccadc7a17f058e 160000
--- a/moose-core
+++ b/moose-core
@@ -1 +1 @@
-Subproject commit e0b5642a1cb25c2620db2f94203afa5ae3def2ef
+Subproject commit af822336e42d4e933f50f664beccadc7a17f058e
diff --git a/update-repository b/update-repository
new file mode 100755
index 0000000000000000000000000000000000000000..59fb769421391b057da0ea64c21d785faff8a3f8
--- /dev/null
+++ b/update-repository
@@ -0,0 +1,6 @@
+#!/bin/bash
+
+# This script updates the repository and its subrepositories, recursively.
+
+git submodule update --init
+git submodule foreach '[ "$path" = "moogli" ] && branch=geometry || branch=master; git pull origin $branch'