diff --git a/abuild.in b/abuild.in
index 2b8797634044c8587435c5daebd75ae57028d9eb..aeb4d8de901735305edcab51d6943f36a1b2e69a 100644
--- a/abuild.in
+++ b/abuild.in
@@ -737,15 +737,15 @@ default_prepare() {
 		case ${i%::*} in
 			*.patch)
 				msg "${i%::*}"
-				patch ${patch_args:--p1} -i "$srcdir/$(filename_from_uri $i)" || failed="$failed $i"
+				POSIXLY_CORRECT=1 patch ${patch_args:--p1} -i "$srcdir/$(filename_from_uri $i)" || failed="$failed $i"
 				;;
 			*.patch.gz)
 				msg "${i%::*}"
-				gunzip -c "$srcdir/$(filename_from_uri $i)" | patch ${patch_args:--p1} || failed="$failed $i"
+				gunzip -c "$srcdir/$(filename_from_uri $i)" | POSIXLY_CORRECT=1 patch ${patch_args:--p1} || failed="$failed $i"
 				;;
 			*.patch.xz)
 				msg "${i%::*}"
-				unxz -c "$srcdir/$(filename_from_uri $i)" | patch ${patch_args:--p1} || failed="$failed $i"
+				unxz -c "$srcdir/$(filename_from_uri $i)" | POSIXLY_CORRECT=1 patch ${patch_args:--p1} || failed="$failed $i"
 				;;
 		esac
 	done