diff --git a/Control/CxxUtils/CxxUtils/ConcurrentStrMap.h b/Control/CxxUtils/CxxUtils/ConcurrentStrMap.h
index df1286a5eea64ab5a778c3a57256d36ffdc28ad7..26ded9575dff1a5dd593efa9dd7ab164fcb5a270 100644
--- a/Control/CxxUtils/CxxUtils/ConcurrentStrMap.h
+++ b/Control/CxxUtils/CxxUtils/ConcurrentStrMap.h
@@ -1,6 +1,6 @@
 // This file's extension implies that it's C, but it's really -*- C++ -*-.
 /*
- * Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration.
+ * Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration.
  */
 /**
  * @file CxxUtils/ConcurrentStrMap.h
@@ -74,7 +74,8 @@ namespace CxxUtils {
  */
 template <class VALUE, template <class> class UPDATER>
 // FIXME: Check UPDATER too.
-ATH_REQUIRES (std::is_pod_v<VALUE> &&
+ATH_REQUIRES (std::is_standard_layout_v<VALUE> &&
+              std::is_trivial_v<VALUE> &&
               (sizeof (VALUE) <= sizeof (uintptr_t)))
 class ConcurrentStrMap
 {
diff --git a/Control/CxxUtils/CxxUtils/ConcurrentStrMap.icc b/Control/CxxUtils/CxxUtils/ConcurrentStrMap.icc
index 487fffd2539ce0cfaa35715476f04964be8cf06b..d0961ad6dcf924db39a8b63a8f1c1219561cb716 100644
--- a/Control/CxxUtils/CxxUtils/ConcurrentStrMap.icc
+++ b/Control/CxxUtils/CxxUtils/ConcurrentStrMap.icc
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration.
+ * Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration.
  */
 /**
  * @file CxxUtils/ConcurrentStrMap.icc
@@ -12,7 +12,11 @@
 namespace CxxUtils {
 
 
-#define T_CONCURRENTSTRMAP template <class VALUE, template <class> class UPDATER>
+#define T_CONCURRENTSTRMAP template <class VALUE, template <class> class UPDATER> \
+  ATH_REQUIRES (std::is_standard_layout_v<VALUE> &&                     \
+                std::is_trivial_v<VALUE> &&                             \
+                (sizeof (VALUE) <= sizeof (uintptr_t)))
+
 #define CONCURRENTSTRMAP ConcurrentStrMap<VALUE, UPDATER>