diff --git a/spack.yaml b/spack.yaml
index 2acd16acf17f91a2f6956d86a21e133db71a9bab..9d8370256ed6ea6e0d4b8285fc7ffafd1c74edeb 100644
--- a/spack.yaml
+++ b/spack.yaml
@@ -24,7 +24,7 @@ spack:
     - podio@0.13
     - geant4@10.7.1 cxxstd=17 +opengl +vecgeom +x11 +qt ^qt +opengl
     - dd4hep@1.16.1 +geant4 +assimp +hepmc3 +ipo
-    - acts@8.02.0 +dd4hep +digitization +identification +json +tgeo +ipo
+    - acts@8.02.0p1 +dd4hep +digitization +identification +json +tgeo +ipo
     - gaudi@34.0
     - dawn@3_91a
     - dawncut@1_54a
diff --git a/spack/packages/acts/acts-822.patch b/spack/packages/acts/acts-822.patch
new file mode 100644
index 0000000000000000000000000000000000000000..8b91047206e0d01f78dfbe87738126adcab58060
--- /dev/null
+++ b/spack/packages/acts/acts-822.patch
@@ -0,0 +1,31 @@
+diff --git a/Core/src/Geometry/CylinderVolumeBuilder.cpp b/Core/src/Geometry/CylinderVolumeBuilder.cpp
+index eba6f8617..950c5286b 100644
+--- a/Core/src/Geometry/CylinderVolumeBuilder.cpp
++++ b/Core/src/Geometry/CylinderVolumeBuilder.cpp
+@@ -542,6 +542,7 @@ Acts::VolumeConfig Acts::CylinderVolumeBuilder::analyzeContent(
+         double zMaxD = center.z() + 0.5 * thickness;
+         lConfig.rMin =
+             std::min(lConfig.rMin, rMinD - m_cfg.layerEnvelopeR.first);
++        lConfig.rMin = std::max(0.0, lConfig.rMin);
+         lConfig.rMax =
+             std::max(lConfig.rMax, rMaxD + m_cfg.layerEnvelopeR.second);
+         lConfig.zMin = std::min(lConfig.zMin, zMinD - m_cfg.layerEnvelopeZ);
+@@ -576,4 +577,4 @@ Acts::VolumeConfig Acts::CylinderVolumeBuilder::analyzeContent(
+ 
+   // and return what you have
+   return lConfig;
+-}
+\ No newline at end of file
++}
+diff --git a/Plugins/DD4hep/src/DD4hepLayerBuilder.cpp b/Plugins/DD4hep/src/DD4hepLayerBuilder.cpp
+index 4d1695abf..455481538 100644
+--- a/Plugins/DD4hep/src/DD4hepLayerBuilder.cpp
++++ b/Plugins/DD4hep/src/DD4hepLayerBuilder.cpp
+@@ -128,6 +128,7 @@ const Acts::LayerVector Acts::DD4hepLayerBuilder::endcapLayers(
+                                      std::abs(zMax - pl.max(Acts::binZ))};
+           pl.envelope[Acts::binR] = {std::abs(rMin - pl.min(Acts::binR)),
+                                      std::abs(rMax - pl.max(Acts::binR))};
++          pl.extent.ranges[Acts::binR] = {rMin, rMax};
+         }
+       } else {
+         throw std::logic_error(
diff --git a/spack/packages/acts/package.py b/spack/packages/acts/package.py
index c86b6250f782226121a9a2dbccf1f372b5f39df0..eb788a546005329c0f316e0adbfe8efc5bec738e 100644
--- a/spack/packages/acts/package.py
+++ b/spack/packages/acts/package.py
@@ -37,6 +37,7 @@ class Acts(CMakePackage, CudaPackage):
 
     # Supported Acts versions
     version('master', branch='master')
+    version('8.02.0p1', commit='f25cf639915fc2ac65b03882ad3eb11fb037ed00')
     version('8.02.0', commit='f25cf639915fc2ac65b03882ad3eb11fb037ed00')
     version('8.01.0', commit='ccc8c77bbc011f3adc020c565a509815be0ea029')
     version('8.00.0', commit='50c972823144c007b406ae12d7ca25a1e0c35532')
@@ -120,6 +121,10 @@ class Acts(CMakePackage, CudaPackage):
     variant('hepmc3', default=False, description='Build the HepMC3-based examples')
     variant('pythia8', default=False, description='Build the Pythia8-based examples')
 
+    ## Temporary patch for ACTS to address
+    ## https://github.com/acts-project/acts/issues/822
+    patch('acts-822.patch', when='@8.02.0p1')
+
     # Build dependencies
     # FIXME: Use spack's autodiff package once there is one
     depends_on('boost @1.62:1.69.99 +program_options +test', when='@:0.10.3')