diff --git a/Phys/KaliCalo/CMakeLists.txt b/Phys/KaliCalo/CMakeLists.txt
index fe930041658c9e9d8b9e7048fd843a5133ac4359..b4a5856e6fc2aacb4f57e65670f6f91f7ea18d3d 100644
--- a/Phys/KaliCalo/CMakeLists.txt
+++ b/Phys/KaliCalo/CMakeLists.txt
@@ -18,6 +18,8 @@ include_directories(SYSTEM ${Boost_INCLUDE_DIRS} ${ROOT_INCLUDE_DIRS})
 
 
 find_package(pytools)
+find_package(ROOT)
+include_directories(SYSTEM ${ROOT_INCLUDE_DIRS})
 
 gaudi_add_module(KaliCalo
                  src/*.cpp
diff --git a/Phys/Tesla/python/Tesla/Configuration.py b/Phys/Tesla/python/Tesla/Configuration.py
index 4e0aef1f1bdc22a771a522f5da2de0deb9196cf5..a2e7755707cda89da5b9e644d0999d570ead0f7b 100644
--- a/Phys/Tesla/python/Tesla/Configuration.py
+++ b/Phys/Tesla/python/Tesla/Configuration.py
@@ -390,13 +390,11 @@ class Tesla(LHCbConfigurableUser):
 
         # Setting up online
         if self.getProp('Mode') is "Online":
+            from DAQSys.DecoderClass import decoderToLocation
             from DAQSys.Decoders import DecoderDB
-            Hlt1VertexReportsDecoder=DecoderDB["HltVertexReportsDecoder/Hlt1VertexReportsDecoder"].setup()
-            Hlt2VertexReportsDecoder=DecoderDB["HltVertexReportsDecoder/Hlt2VertexReportsDecoder"].setup()
-            Hlt2SelReportsDecoder=DecoderDB["HltSelReportsDecoder/Hlt2SelReportsDecoder"].setup()
-            Hlt2DecReportsDecoder=DecoderDB["HltDecReportsDecoder/Hlt2DecReportsDecoder"].setup()
+            hlt_locs = [ "Hlt/VertexReports/PV3D", "Hlt2/SelReports","Hlt2/DecReports" ]
             odin=DecoderDB["createODIN"].setup()
-            TeslaReportAlgoSeq.Members += [ odin, Hlt1VertexReportsDecoder, Hlt2VertexReportsDecoder, Hlt2SelReportsDecoder, Hlt2DecReportsDecoder ]
+            TeslaReportAlgoSeq.Members += [ odin ] + [ decoderToLocation(DecoderDB,loc).setup() for loc in hlt_locs ]
 
         totalLines=[]
         if turbo_streams:
@@ -902,19 +900,11 @@ class Tesla(LHCbConfigurableUser):
 
         decoders_seq = GaudiSequencer('TeslaDecoders')
         if online:
-            decoder_names = [
-                'HltVertexReportsDecoder/Hlt2VertexReportsDecoder',
-                'HltSelReportsDecoder/Hlt2SelReportsDecoder',
-                'HltDecReportsDecoder/Hlt2DecReportsDecoder',
-                'createODIN'
-            ]
-            if vertex_report_location == 'Hlt1':
-                decoder_names.insert(0, 'HltVertexReportsDecoder/Hlt1VertexReportsDecoder')
-            for name in decoder_names:
-                from DAQSys.Decoders import DecoderDB
-                decoder = DecoderDB[name].setup()
-                decoders_seq.Members.append(decoder)
-
+            from DAQSys.DecoderClass import decoderToLocation
+            from DAQSys.Decoders import DecoderDB
+            hlt_locs = [ "Hlt/VertexReports/PV3D", "Hlt2/SelReports","Hlt2/DecReports" ]
+            odin=DecoderDB["createODIN"].setup()
+            decoders_seq.Members += [ odin ] + [ decoderToLocation(DecoderDB,loc).setup() for loc in hlt_locs ]            
             DecodeRawEvent().DataOnDemand = False
             self._safeSet(DstConf(), ['SplitRawEventOutput'])