diff --git a/external/InstallKFParticle.cmake b/external/InstallKFParticle.cmake
index 30110cdd24e79f9b077d541088380b4ffbe473f0..fc39403c4b13b21e988a61540a75ccdaf137f8f7 100644
--- a/external/InstallKFParticle.cmake
+++ b/external/InstallKFParticle.cmake
@@ -2,7 +2,7 @@ set(KFPARTICLE_LIBNAME "${CMAKE_SHARED_LIBRARY_PREFIX}KFParticle${CMAKE_SHARED_L
 
 set(KFPARTICLE_SRC_URL "https://github.com/cbmsw/KFParticle.git")
 set(KFPARTICLE_DESTDIR "${CMAKE_BINARY_DIR}/external/KFPARTICLE-prefix")
-set(KFPARTICLE_TAG     "1e1c5dee0e2bd98a3df677beb88e497fbef92504")
+set(KFPARTICLE_TAG     "9b11e3e9da4e0896af80701210d19f7ca69c39d4")
 
 # GIT_TAG is a hash for KFParticle tag cbm/v1.1-1 
 if (CMAKE_SYSTEM_NAME MATCHES Darwin AND ${CMAKE_SYSTEM_PROCESSOR} MATCHES arm64)
diff --git a/reco/KF/CbmKF.cxx b/reco/KF/CbmKF.cxx
index 2d0934809543e2fb2971bc51974ea8b28c81f5d1..2660b1c58cb982c44b14f8443ce0729750194625 100644
--- a/reco/KF/CbmKF.cxx
+++ b/reco/KF/CbmKF.cxx
@@ -314,7 +314,7 @@ void CbmKF::GetTargetInfo()
   LOG(info) << "Target info: " << target.KFInfo();
 }
 
-std::array<double, 3> CbmKF::GetTargetPosition() { return fTargetXYZ; }
+const std::array<float, 3> CbmKF::GetTargetPosition() { return fTargetXYZ; }
 
 void CbmKF::FindTargetNode(TString& targetPath, TGeoNode*& targetNode)
 {
diff --git a/reco/KF/CbmKF.h b/reco/KF/CbmKF.h
index 2169aeae0a886590aed9d0f7a08952aaabdfea07..b1bde574f7a22bdba844bd06ac546379a3b9068c 100644
--- a/reco/KF/CbmKF.h
+++ b/reco/KF/CbmKF.h
@@ -91,7 +91,7 @@ public:
 
   int GetNMvdStations() const { return CbmKF::Instance()->vMvdMaterial.size(); }
 
-  std::array<double, 3> GetTargetPosition();
+  const std::array<float, 3> GetTargetPosition();
 
 private:
   static CbmKF* fInstance;
@@ -113,7 +113,7 @@ private:
 
   void FindTargetNode(TString& targetPath, TGeoNode*& targetNode);
 
-  std::array<double, 3> fTargetXYZ;
+  std::array<float, 3> fTargetXYZ;
 
 
 private:
diff --git a/reco/KF/CbmKFParticleFinder.cxx b/reco/KF/CbmKFParticleFinder.cxx
index 23e8aef0b9439a5797433e6a0b1773bc44019ff4..41d872337f63b1958ed0ae7d937050fb01d88c8f 100644
--- a/reco/KF/CbmKFParticleFinder.cxx
+++ b/reco/KF/CbmKFParticleFinder.cxx
@@ -127,7 +127,6 @@ InitStatus CbmKFParticleFinder::Init()
   }
 
   fCbmPrimVertex = (CbmVertex*) ioman->GetObject("PrimaryVertex.");
-
   return kSUCCESS;
 }
 
@@ -144,6 +143,7 @@ void CbmKFParticleFinder::Exec(Option_t* /*opt*/)
   for (int iEvent = 0; iEvent < nEvents; iEvent++) {
     CbmEvent* event = 0;
     if (fTimeSliceMode) event = (CbmEvent*) fEvents->At(iEvent);
+    eventTopoReconstructor[iEvent].SetTarget(fTopoReconstructor->GetTargetPosition());
     eventTopoReconstructor[iEvent].SetChi2PrimaryCut(InversedChi2Prob(0.0001, 2));
     eventTopoReconstructor[iEvent].CopyCuts(fTopoReconstructor);
     eventTopoReconstructor[iEvent].GetKFParticleFinder()->SetReconstructionList(
@@ -581,7 +581,6 @@ void CbmKFParticleFinder::SetSuperEventAnalysis()
 
 
 void CbmKFParticleFinder::SetTarget(const std::array<float, 3>& target) { fTopoReconstructor->SetTarget(target); }
-
 KFParticleFinder* CbmKFParticleFinder::GetKFParticleFinder() { return fTopoReconstructor->GetKFParticleFinder(); }
 void CbmKFParticleFinder::SetMaxDistanceBetweenParticlesCut(float cut)
 {