diff --git a/Tracking/Acts/ActsObjectDecoration/CMakeLists.txt b/Tracking/Acts/ActsObjectDecoration/CMakeLists.txt
index 78f9801aaa8e27fa4ce487529b761ca9c1dbe26d..cd27124315940bec70e56afc4021fdd08e60de3f 100644
--- a/Tracking/Acts/ActsObjectDecoration/CMakeLists.txt
+++ b/Tracking/Acts/ActsObjectDecoration/CMakeLists.txt
@@ -17,4 +17,5 @@ atlas_add_component( ActsObjectDecoration
    xAODMeasurementBase
    InDetReadoutGeometry
    TrkTruthData
-)
\ No newline at end of file
+   TruthUtils
+)
diff --git a/Tracking/Acts/ActsObjectDecoration/src/PixelClusterTruthDecorator.cxx b/Tracking/Acts/ActsObjectDecoration/src/PixelClusterTruthDecorator.cxx
index bd5ab781781a521c86473259dcc027eb1b1008be..cdddf6e179ce1a88578d243e9da6ebb86f5767e1 100644
--- a/Tracking/Acts/ActsObjectDecoration/src/PixelClusterTruthDecorator.cxx
+++ b/Tracking/Acts/ActsObjectDecoration/src/PixelClusterTruthDecorator.cxx
@@ -4,6 +4,7 @@
 #include "xAODTracking/TrackMeasurementValidation.h"
 #include "xAODTracking/TrackMeasurementValidationContainer.h"
 #include "xAODTracking/TrackMeasurementValidationAuxContainer.h"
+#include "TruthUtils/HepMCHelpers.h"
 
 #define AUXDATA(OBJ, TYP, NAME) \
   static const SG::AuxElement::Accessor<TYP> acc_##NAME (#NAME);  acc_##NAME(*(OBJ))
@@ -98,7 +99,7 @@ StatusCode PixelClusterTruthDecorator::execute(const EventContext& ctx) const {
       std::vector<unsigned int> tp_barcodes;
       for (auto tp : tps) {
 	tp_indices.push_back(tp->index());
-	tp_barcodes.push_back(tp->barcode());
+	tp_barcodes.push_back(HepMC::uniqueID(tp));
       }
 
       //TODO change how to decorate
diff --git a/Tracking/Acts/ActsObjectDecoration/src/StripClusterTruthDecorator.cxx b/Tracking/Acts/ActsObjectDecoration/src/StripClusterTruthDecorator.cxx
index 8b5d63a5a248b09419b50dc408bcffe1690d2e69..4dce7894ebef69e7563fcae7ef439a0a6fa3cd0b 100644
--- a/Tracking/Acts/ActsObjectDecoration/src/StripClusterTruthDecorator.cxx
+++ b/Tracking/Acts/ActsObjectDecoration/src/StripClusterTruthDecorator.cxx
@@ -4,6 +4,7 @@
 #include "xAODTracking/TrackMeasurementValidation.h"
 #include "xAODTracking/TrackMeasurementValidationContainer.h"
 #include "xAODTracking/TrackMeasurementValidationAuxContainer.h"
+#include "TruthUtils/HepMCHelpers.h"
 
 #define AUXDATA(OBJ, TYP, NAME) \
   static const SG::AuxElement::Accessor<TYP> acc_##NAME (#NAME);  acc_##NAME(*(OBJ))
@@ -109,7 +110,7 @@ namespace ActsTrk {
 	std::vector<unsigned int> tp_barcodes;
 	for (auto tp : tps) {
 	  tp_indices.push_back(tp->index());
-	  tp_barcodes.push_back(tp->barcode());
+	  tp_barcodes.push_back(HepMC::uniqueID(tp));
 	}
 	
 	//TODO move vectors