diff --git a/DDCond/src/plugins/ConditionsRepositoryParser.cpp b/DDCond/src/plugins/ConditionsRepositoryParser.cpp
index 2086fbd98044fbd7ca656ef7f8b1c824959943c4..5750f425de483d4d1060078263115a5f7f7c37a1 100644
--- a/DDCond/src/plugins/ConditionsRepositoryParser.cpp
+++ b/DDCond/src/plugins/ConditionsRepositoryParser.cpp
@@ -343,8 +343,8 @@ namespace DD4hep {
     xml_h              child_rot, child_pos, child_piv;
     ConversionArg*     arg = _param<ConversionArg>();
     Condition          con = create_condition(arg->detector, e);
-    Alignments::Delta& del = con.bind<Alignments::Delta>();
-    XML::parse(e, del);
+    //Alignments::Delta& del = con.bind<Alignments::Delta>();
+    XML::parse_delta(e, con->data);
     con->setFlag(Condition::ALIGNMENT);
     arg->manager.registerUnlocked(arg->pool, con);
   }
diff --git a/DDCore/include/DD4hep/objects/ConditionsInterna.h b/DDCore/include/DD4hep/objects/ConditionsInterna.h
index b01ee3f131d2d35e4f1a6a585059cd592770f281..b700d55e7bf221e605d4dbb7a2183c263cbd8a35 100644
--- a/DDCore/include/DD4hep/objects/ConditionsInterna.h
+++ b/DDCore/include/DD4hep/objects/ConditionsInterna.h
@@ -243,9 +243,6 @@ namespace DD4hep {
 
 #define DD4HEP_DEFINE_CONDITIONS_TYPE(x)                               \
   namespace DD4hep {                                                   \
-    template x& OpaqueDataBlock::bind<x>();                            \
-    template x& OpaqueDataBlock::bind<x>(const std::string& val);      \
-    template x& OpaqueDataBlock::set<x> (const std::string& val);      \
     namespace Conditions  {                                            \
       template x& Condition::bind<x>(const std::string& val);          \
       template x& Condition::bind<x>();                                \
diff --git a/DDCore/include/DD4hep/objects/OpaqueData_inl.h b/DDCore/include/DD4hep/objects/OpaqueData_inl.h
index be035e98e2aba81df9b0f4eddf91b024fbef72f2..81dd36ff21061527fb035fb5a13c59ff2b082637 100644
--- a/DDCore/include/DD4hep/objects/OpaqueData_inl.h
+++ b/DDCore/include/DD4hep/objects/OpaqueData_inl.h
@@ -78,4 +78,12 @@ namespace DD4hep {
   }
 
 } /* End namespace DD4hep               */
+
+#define DD4HEP_DEFINE_OPAQUEDATA_TYPE(x)                               \
+  namespace DD4hep {                                                   \
+    template x& OpaqueDataBlock::bind<x>();                            \
+    template x& OpaqueDataBlock::bind<x>(const std::string& val);      \
+    template x& OpaqueDataBlock::set<x> (const std::string& val);      \
+  }
+
 #endif    /* DD4HEP_OPAQUEDATA_INL_H    */
diff --git a/DDCore/src/AlignmentData.cpp b/DDCore/src/AlignmentData.cpp
index a6fd9e1136f564edd09f20122a12ebd3c53d579b..793b7af6c686465f708effb0937669a57a480520 100644
--- a/DDCore/src/AlignmentData.cpp
+++ b/DDCore/src/AlignmentData.cpp
@@ -204,6 +204,8 @@ Alignment AlignmentData::nominal() const   {
 
 #include "DD4hep/ToStream.h"
 #include "DD4hep/objects/ConditionsInterna.h"
+DD4HEP_DEFINE_OPAQUEDATA_TYPE(Delta)
+DD4HEP_DEFINE_OPAQUEDATA_TYPE(AlignmentData)
 DD4HEP_DEFINE_CONDITIONS_TYPE_DUMMY(Delta)
 DD4HEP_DEFINE_CONDITIONS_TYPE_DUMMY(AlignmentData)