diff --git a/var/spack/repos/builtin/packages/dcmtk/package.py b/var/spack/repos/builtin/packages/dcmtk/package.py
index 2bf3db66d144a6a5555ce57f68124b0e2076e6e7..7b5fab7f64bc57aa9615bdea29e8a5eeea558ed5 100644
--- a/var/spack/repos/builtin/packages/dcmtk/package.py
+++ b/var/spack/repos/builtin/packages/dcmtk/package.py
@@ -37,6 +37,16 @@ class Dcmtk(CMakePackage):
     variant('cxx11', default=False, description="Enable c++11 features")
     variant('stl', default=True, description="Use native STL implementation")
 
+    def patch(self):
+        # Backport 3.6.4
+        if self.spec.satisfies('@:3.6.3 %fj'):
+            filter_file(
+                'OFintegral_constant<size_t,-1>',
+                'OFintegral_constant<size_t,~OFstatic_cast(size_t,0)>',
+                'ofstd/include/dcmtk/ofstd/variadic/helpers.h',
+                string=True
+            )
+
     def cmake_args(self):
         args = ["-DDCMTK_WITH_OPENSSL={0}".format(
             'ON' if '+ssl' in self.spec else 'OFF')]