diff --git a/subr/pkg_patch.subr b/subr/pkg_patch.subr
index 94fe780..eba8f6f 100644
--- a/subr/pkg_patch.subr
+++ b/subr/pkg_patch.subr
@@ -3,8 +3,8 @@
 #
 
 pkg_patch() {
-	local _patch_fname;
-	set -o noglob;
+	local _patch_fname _patches_done;
+	set +o noglob;
 	for _patch_fname in 										\
 			${WORKDIR}/chainport/${PKG_NAME}.midipix.patch					\
 			${WORKDIR}/chainport/${PKG_SUBDIR}.midipix.patch				\
@@ -18,11 +18,13 @@ pkg_patch() {
 			${MIDIPIX_BUILD_PWD}/patches/${PKG_NAME}.local@${BUILD_HNAME}.patch		\
 			${MIDIPIX_BUILD_PWD}/patches/${PKG_SUBDIR}.local@${BUILD_HNAME}.patch		\
 			${MIDIPIX_BUILD_PWD}/patches/${PKG_SUBDIR%-*}.local@${BUILD_HNAME}.patch; do
-		if [ -r "${_patch_fname}" ]; then
+		if ! lmatch "${_patches_done}" " " "${_patch_fname}"\
+		&& [ -r "${_patch_fname}" ]; then
 			patch -b -d "${WORKDIR}/${PKG_SUBDIR}" -p1 < "${_patch_fname}";
+			_patches_done="${_patches_done:+${_patches_done} }${_patch_fname}";
 		fi;
 	done;
-	set +o noglob;
+	set -o noglob;
 };
 
 # vim:filetype=sh
diff --git a/vars/build.vars b/vars/build.vars
index 106c628..86b9307 100644
--- a/vars/build.vars
+++ b/vars/build.vars
@@ -283,6 +283,7 @@ LIB_PACKAGES_PREFIX="${PREFIX_NATIVE}";
 : ${PKG_BZIP2_MAKEFLAGS_BUILD_EXTRA:=-f Makefile-libbz2_so};
 : ${PKG_BZIP2_MAKEFLAGS_INSTALL_EXTRA:=PREFIX=${PREFIX_NATIVE}};
 : ${PKG_BZIP2_NO_CLEAN:=1};
+: ${PKG_BZIP2_FLAVOUR_MINIPIX_INSTALL_FILES:="@bzdiff=bin/bzcmp @bzgrep=bin/bzegrep @bzgrep=bin/bzfgrep @bzmore=bin/bzless"};
 : ${PKG_BZIP2_FLAVOUR_MINIPIX_LDFLAGS_BUILD_EXTRA:="-static"};
 : ${PKG_BZIP2_FLAVOUR_MINIPIX_MAKEFLAGS_BUILD_EXTRA:="-f Makefile"};
 : ${PKG_BZIP2_FLAVOUR_MINIPIX_MAKEFLAGS_INSTALL_EXTRA:="PREFIX=${PREFIX_MINIPIX}"};