diff --git a/Trigger/TrigSteer/TrigCompositeUtils/Root/TrigCompositeUtilsRoot.cxx b/Trigger/TrigSteer/TrigCompositeUtils/Root/TrigCompositeUtilsRoot.cxx
index 7a579b52e2d866d4f66a6458c964e55168f7208b..c22b1dc36611b63403237aa45c233ff6eda1bc86 100644
--- a/Trigger/TrigSteer/TrigCompositeUtils/Root/TrigCompositeUtilsRoot.cxx
+++ b/Trigger/TrigSteer/TrigCompositeUtils/Root/TrigCompositeUtilsRoot.cxx
@@ -138,12 +138,12 @@ namespace TrigCompositeUtils {
   }
 #endif
 
-  void linkToPrevious( Decision* d, const std::string& previousCollectionKey, size_t previousIndex ) {
+  void linkToPrevious( Decision* d, const std::string& previousCollectionKey, size_t previousIndex  ) {
     ElementLink<DecisionContainer> seed = ElementLink<DecisionContainer>( previousCollectionKey, previousIndex );
     if (!seed.isValid()) {
       throw std::runtime_error("TrigCompositeUtils::linkToPrevious Invalid Decision Link key or index provided");
     } else {
-      d->addObjectCollectionLink("seed", seed);
+      d->addObjectCollectionLink(seedString(), seed);
     }
   }
 
diff --git a/Trigger/TrigSteer/TrigCompositeUtils/TrigCompositeUtils/HLTIdentifier.h b/Trigger/TrigSteer/TrigCompositeUtils/TrigCompositeUtils/HLTIdentifier.h
index f4a384933c38c94e6939534dd68d02bc80614755..f0cb456081356b214f443b89d5c315725637bd17 100644
--- a/Trigger/TrigSteer/TrigCompositeUtils/TrigCompositeUtils/HLTIdentifier.h
+++ b/Trigger/TrigSteer/TrigCompositeUtils/TrigCompositeUtils/HLTIdentifier.h
@@ -12,6 +12,7 @@
 
 #include "AsgMessaging/MsgStream.h"
 #include "CxxUtils/checker_macros.h"
+#include "xAODTrigger/TrigCompositeContainer.h"
 
 /**
  * @brief An trigger identifier class, used to provide mapping fromt the human readable IDs to efficienct unsigned ints
@@ -34,7 +35,7 @@ public:
   /**
    * @brief Construct wiht numeric ID
    **/
- Identifier( unsigned id ) : m_id( id ) {}
+ Identifier( TrigCompositeUtils::DecisionID id ) : m_id( id ) {}
 
   /**
    * @brief reports human redable name if it is enabled or, empty string
@@ -44,16 +45,17 @@ public:
   /**
    * @brief numeric ID
    **/    
-  inline unsigned numeric() const { return m_id; }
-  inline operator unsigned () const { return numeric(); }
+  inline TrigCompositeUtils::DecisionID numeric() const { return m_id; }
+  inline operator TrigCompositeUtils::DecisionID () const { return numeric(); }
+
   /**
    *  @brief comparisons, for containers of identifiers
    **/      
   bool operator == ( const Identifier& rhs )  const { return numeric() == rhs.numeric(); }
   bool operator < ( const Identifier& rhs )  const { return numeric() < rhs.numeric(); }
-  bool operator < ( unsigned id ) const { return numeric() < id; } 
+  bool operator < ( TrigCompositeUtils::DecisionID id ) const { return numeric() < id; } 
 private:
-  unsigned m_id;
+  TrigCompositeUtils::DecisionID m_id;
   static bool s_reportStringIDs ATLAS_THREAD_SAFE;
   
 };
diff --git a/Trigger/TrigSteer/TrigCompositeUtils/test/TrigCompositeUtils_test.cxx b/Trigger/TrigSteer/TrigCompositeUtils/test/TrigCompositeUtils_test.cxx
index ebb15f23f233b796b637ad1d40d4f8cfd022bc37..a94aa2bb3bace89cde9d782617d57e63a770dd47 100644
--- a/Trigger/TrigSteer/TrigCompositeUtils/test/TrigCompositeUtils_test.cxx
+++ b/Trigger/TrigSteer/TrigCompositeUtils/test/TrigCompositeUtils_test.cxx
@@ -21,7 +21,7 @@ int main ATLAS_NOT_THREAD_SAFE () {
   xAOD::TrigComposite::s_throwOnCopyError = true;
 
   errorcheck::ReportMessage::hideFunctionNames (true);
-
+  
   // initialize Gaudi, SG
   ISvcLocator* pSvcLoc;
   Athena_test::initGaudi(pSvcLoc);