diff --git a/scripts/patch.sh b/scripts/patch.sh
index 479acd76359cf078b897de31fbe74d632d20dbc8..5f6e0b66f25b2454df329d781a375bf2ec6f5249 100755
--- a/scripts/patch.sh
+++ b/scripts/patch.sh
@@ -9,13 +9,13 @@ for module in $GLUON_MODULES; do
 	cd "$GLUONDIR"/$module
 	git checkout -B patching base
 
-	if [ "$(echo "$GLUONDIR"/patches/$module/*.patch)" ]; then
-		git -c user.name='Gluon Patch Manager' -c user.email='gluon@void.example.com' am --whitespace=nowarn "$GLUONDIR"/patches/$module/*.patch || (
+	for patch in "$GLUONDIR"/patches/$module/*.patch; do
+		if ! git -c user.name='Gluon Patch Manager' -c user.email='gluon@void.example.com' am --whitespace=nowarn "$patch"; then
 			git am --abort
 			git checkout patched
 			git branch -D patching
-			false
-		)
-	fi
+			exit 1
+		fi
+	done
 	git branch -M patched
 done