diff --git a/var/spack/repos/builtin/packages/cmake/intel-cxx-bootstrap.patch b/var/spack/repos/builtin/packages/cmake/intel-cxx-bootstrap.patch
new file mode 100644
index 0000000000000000000000000000000000000000..d5475b2e54732a95a0ceabdb7d2adf88fc53f316
--- /dev/null
+++ b/var/spack/repos/builtin/packages/cmake/intel-cxx-bootstrap.patch
@@ -0,0 +1,11 @@
+--- a/bootstrap	2020-07-24 11:02:56.488414260 +0200
++++ b/bootstrap	2020-07-24 11:03:20.763775094 +0200
+@@ -1179,7 +1179,7 @@
+ }
+ #endif
+ 
+-#if (__cplusplus >= 201703L || defined(__INTEL_COMPILER) && defined(__cpp_if_constexpr))
++#if (__cplusplus >= 201703L || defined(__INTEL_COMPILER) && defined(__cpp_deduction_guides))
+ #include <optional>
+ template <typename T,
+           typename std::invoke_result<decltype(&T::get), T>::type = nullptr>
diff --git a/var/spack/repos/builtin/packages/cmake/package.py b/var/spack/repos/builtin/packages/cmake/package.py
index 07e933c71864b478d382308bf9595c6ce0526dc2..c85df79878d6e9947ee8f0989fa7a2ea632a654b 100644
--- a/var/spack/repos/builtin/packages/cmake/package.py
+++ b/var/spack/repos/builtin/packages/cmake/package.py
@@ -136,6 +136,10 @@ class Cmake(Package):
     # https://gitlab.kitware.com/cmake/cmake/issues/16226
     patch('intel-c-gnu11.patch', when='@3.6.0:3.6.1')
 
+    # Cannot build with Intel again, should be fixed in 3.17.4 and 3.18.1
+    # https://gitlab.kitware.com/cmake/cmake/-/issues/21013
+    patch('intel-cxx-bootstrap.patch', when='@3.17.0:3.17.3,3.18.0')
+
     # https://gitlab.kitware.com/cmake/cmake/issues/18232
     patch('nag-response-files.patch', when='@3.7:3.12')