diff --git a/include/image.mk b/include/image.mk
index 503115ddb093b073bdd3f1209b282ae5f982c1c8..7c45b3946229f07d5535111c2b5fb934ce05c3f8 100644
--- a/include/image.mk
+++ b/include/image.mk
@@ -50,7 +50,10 @@ ifeq ($(CONFIG_SQUASHFS_LZMA),y)
   SQUASHFSCOMP := lzma $(LZMA_XZ_OPTIONS)
 endif
 ifeq ($(CONFIG_SQUASHFS_XZ),y)
-  SQUASHFSCOMP := xz $(LZMA_XZ_OPTIONS)
+  ifneq ($(filter arm x86 powerpc sparc,$(LINUX_KARCH)),)
+    BCJ_FILTER:=-Xbcj $(LINUX_KARCH)
+  endif
+  SQUASHFSCOMP := xz $(LZMA_XZ_OPTIONS) $(BCJ_FILTER)
 endif
 
 JFFS2_BLOCKSIZE ?= 64k 128k