diff --git a/DDCond/src/ConditionsTest.cpp b/DDCond/src/ConditionsTest.cpp
index 9e407f8cdd35f0964cc63e63149a79335212a2d7..3c30e3764270ff171be6bff0c6acef6dc1494e39 100644
--- a/DDCond/src/ConditionsTest.cpp
+++ b/DDCond/src/ConditionsTest.cpp
@@ -90,13 +90,31 @@ namespace DD4hep {
 
 
 #if defined(DD4HEP_HAVE_ALL_PARSERS)
+#define TEMPLATE_TYPE(x,f)                                    \
+        TEMPLATE_SIMPLE_TYPE(x)                               \
+        TEMPLATE_CONTAINER_TYPE(vector<x>,x)                  \
+        TEMPLATE_CONTAINER_TYPE(list<x>,x)                    \
+        TEMPLATE_CONTAINER_TYPE(set<x>,x)                     \
+        TEMPLATE_CONTAINER_TYPE(Primitive<x>::int_map_t,x)    \
+        TEMPLATE_CONTAINER_TYPE(Primitive<x>::size_map_t,x)   \
+        TEMPLATE_CONTAINER_TYPE(Primitive<x>::string_map_t,x)
+
         TEMPLATE_TYPE(char,"%c")
         TEMPLATE_TYPE(unsigned char,"%02X")
         TEMPLATE_TYPE(short,"%d")
         TEMPLATE_TYPE(unsigned short,"%04X")
         TEMPLATE_TYPE(unsigned int,"%08X")
         TEMPLATE_TYPE(unsigned long,"%016X")
+#else
+#define TEMPLATE_TYPE(x,f)                                    \
+        TEMPLATE_SIMPLE_TYPE(x)                               \
+        TEMPLATE_CONTAINER_TYPE(vector<x>,x)                  \
+        TEMPLATE_CONTAINER_TYPE(list<x>,x)                    \
+        TEMPLATE_CONTAINER_TYPE(set<x>,x)                     \
+        TEMPLATE_CONTAINER_TYPE(Primitive<x>::int_map_t,x)    \
+        TEMPLATE_CONTAINER_TYPE(Primitive<x>::string_map_t,x)
 #endif // DD4HEP_HAVE_ALL_PARSERS
+
         TEMPLATE_TYPE(int,"%d")
         TEMPLATE_TYPE(long,"%ld")
         TEMPLATE_TYPE(float,"%f")