diff --git a/scripts/patch.sh b/scripts/patch.sh
index fbaebd7e8a915920f24158070c51b08e13ecbace..b3ad556437c09d21ff6894f3662bdbf63257c200 100755
--- a/scripts/patch.sh
+++ b/scripts/patch.sh
@@ -6,17 +6,17 @@ shopt -s nullglob
 . "$1"/modules
 
 for module in $GLUON_MODULES; do
-	dir="$1"/$module
-	git -C $dir checkout -B patching base
+	cd "$1"/$module
+	git checkout -B patching base
 
 	if [ "$1"/patches/$module/*.patch ]; then
-		git -C "$dir" am "$1"/patches/$module/*.patch || (
-			git -C "$dir" am --abort
-			git -C "$dir" checkout patched
-			git -C "$dir" branch -D patching
+		git am "$1"/patches/$module/*.patch || (
+			git am --abort
+			git checkout patched
+			git branch -D patching
 			false
 		)
 	fi
-	git -C "$dir" checkout -B patched
-	git -C "$dir" branch -d patching
+	git checkout -B patched
+	git branch -d patching
 done
diff --git a/scripts/unpatch.sh b/scripts/unpatch.sh
index 4e5cfaaac2eae543f0883490110a8aeee78d1b8a..062b5cdc548ce940091d5c18d0409644bdf792a3 100755
--- a/scripts/unpatch.sh
+++ b/scripts/unpatch.sh
@@ -5,6 +5,6 @@ set -e
 . "$1"/modules
 
 for module in $GLUON_MODULES; do
-	dir="$1"/$module
-	git -C "$dir" checkout base
+	cd "$1"/$module
+	git checkout base
 done
diff --git a/scripts/update-patches.sh b/scripts/update-patches.sh
index c4c0b53c1b170813226c97ec9df9a290020e9d5b..ee0ea15a32348692b112f3df7902ba65689571bb 100755
--- a/scripts/update-patches.sh
+++ b/scripts/update-patches.sh
@@ -6,13 +6,14 @@ shopt -s nullglob
 . "$1"/modules
 
 for module in $GLUON_MODULES; do
-	dir="$1"/$module
 	rm -f "$1"/patches/$module/*.patch
 	mkdir -p "$1"/patches/$module
 
+	cd "$1"/$module
+
 	n=0
-	for commit in $(git -C "$dir" rev-list --reverse --no-merges base..patched); do
+	for commit in $(git rev-list --reverse --no-merges base..patched); do
 		let n=n+1
-		git -C "$dir" show --pretty=format:'From: %an <%ae>%nDate: %aD%nSubject: %B' $commit > "$1"/patches/$module/"$(printf '%04u' $n)-$(git -C "$dir" show -s --pretty=format:%f $commit).patch"
+		git show --pretty=format:'From: %an <%ae>%nDate: %aD%nSubject: %B' $commit > "$1"/patches/$module/"$(printf '%04u' $n)-$(git show -s --pretty=format:%f $commit).patch"
 	done
 done
diff --git a/scripts/update.sh b/scripts/update.sh
index 2bda671fe3661f7fd14d3c362275193d02b70d5b..f840b457b94bc8787ad60ea5dfe9d7491db75fbf 100755
--- a/scripts/update.sh
+++ b/scripts/update.sh
@@ -5,13 +5,14 @@ set -e
 . "$1"/modules
 
 for module in $GLUON_MODULES; do
-	dir="$1"/$module
-	mkdir -p "$dir"
 	var=$(echo $module | tr '[:lower:]/' '[:upper:]_')
 	eval repo=\${MODULE_${var}_REPO}
 	eval commit=\${MODULE_${var}_COMMIT}
-	git -C "$dir" init
 
-	git -C "$dir" checkout $commit 2>/dev/null || git -C "$dir" fetch $repo
-	git -C "$dir" checkout -B base $commit
+	mkdir -p "$1"/$module
+	cd "$1"/$module
+	git init
+
+	git checkout $commit 2>/dev/null || fetch $repo
+	git checkout -B base $commit
 done