diff --git a/var/spack/repos/builtin/packages/boost/bootstrap-path.patch b/var/spack/repos/builtin/packages/boost/bootstrap-path.patch
new file mode 100644
index 0000000000000000000000000000000000000000..06cebe0d1ed3d5e9d0e6e10c7fdfc74230765cae
--- /dev/null
+++ b/var/spack/repos/builtin/packages/boost/bootstrap-path.patch
@@ -0,0 +1,33 @@
+Remove the spack wrapper directories from PATH for the bootstrap step.
+This was breaking the build for Cray (and other cross-compile) because
+bjam was built for the BE and died on SIGILL on the FE.  See issue
+#9613.
+
+This only affects building bjam.  The boost libraries are still built
+the normal spack way with the spack wrappers.
+
+
+diff -Naurb boost_1_66_0.orig/bootstrap.sh boost_1_66_0/bootstrap.sh
+--- boost_1_66_0.orig/bootstrap.sh	2017-12-13 17:56:35.000000000 -0600
++++ boost_1_66_0/bootstrap.sh	2019-01-09 13:51:56.407553214 -0600
+@@ -7,6 +7,20 @@
+ 
+ # boostinspect:notab - Tabs are required for the Makefile.
+ 
++NEWPATH=
++OLDIFS="$IFS"
++IFS=:
++
++for dir in $PATH ; do
++   case "x$dir" in
++      *lib*spack*env* ) ;;
++      * ) NEWPATH="${NEWPATH}:${dir}" ;;
++   esac
++done
++
++IFS="$OLDIFS"
++PATH="$NEWPATH"
++
+ BJAM=""
+ TOOLSET=""
+ BJAM_CONFIG=""
diff --git a/var/spack/repos/builtin/packages/boost/package.py b/var/spack/repos/builtin/packages/boost/package.py
index 8f0fced0de7b72eb09238c736e7dd4d05b6b4e79..9536aa5cc5536c369cfd7845ba79a6c4a4bea5d2 100644
--- a/var/spack/repos/builtin/packages/boost/package.py
+++ b/var/spack/repos/builtin/packages/boost/package.py
@@ -156,6 +156,9 @@ class Boost(Package):
     patch('boost_1.63.0_pgi.patch', when='@1.63.0%pgi')
     patch('boost_1.63.0_pgi_17.4_workaround.patch', when='@1.63.0%pgi@17.4')
 
+    # Fix the bootstrap/bjam build for Cray
+    patch('bootstrap-path.patch', when='@1.39.0: platform=cray')
+
     def url_for_version(self, version):
         if version >= Version('1.63.0'):
             url = "https://dl.bintray.com/boostorg/release/{0}/source/boost_{1}.tar.bz2"