diff --git a/Trigger/TrigAlgorithms/TrigFastTrackFinder/python/TrigFastTrackFinderConfig.py b/Trigger/TrigAlgorithms/TrigFastTrackFinder/python/TrigFastTrackFinderConfig.py
index 8fadfdff44581be6307928ee5b40a60470c55670..45109b30e7470be31291bbe0f2d5a36cd77ea239 100755
--- a/Trigger/TrigAlgorithms/TrigFastTrackFinder/python/TrigFastTrackFinderConfig.py
+++ b/Trigger/TrigAlgorithms/TrigFastTrackFinder/python/TrigFastTrackFinderConfig.py
@@ -365,6 +365,7 @@ def TrigFastTrackFinderCfg(flags: AthConfigFlags, name: str, RoIs: str, inputTra
         MonTool = TrigFastTrackFinderMonitoring(flags),
         Extrapolator = acc.popToolsAndMerge(AtlasExtrapolatorCfg(flags)),
         RoIs = RoIs,
+        FixSeedPhi = flags.Trigger.InDetTracking.fixSeedPhi
     )
     
   ftf.LRT_D0Min = flags.Tracking.ActiveConfig.LRT_D0Min
diff --git a/Trigger/TrigAlgorithms/TrigFastTrackFinder/src/TrigFastTrackFinder.cxx b/Trigger/TrigAlgorithms/TrigFastTrackFinder/src/TrigFastTrackFinder.cxx
index 81232d7335eff751c6d4c187add60c7c1058691d..7f8081f2fdae14b87c35bac9f34ddeabc0283b97 100644
--- a/Trigger/TrigAlgorithms/TrigFastTrackFinder/src/TrigFastTrackFinder.cxx
+++ b/Trigger/TrigAlgorithms/TrigFastTrackFinder/src/TrigFastTrackFinder.cxx
@@ -125,6 +125,9 @@ TrigFastTrackFinder::TrigFastTrackFinder(const std::string& name, ISvcLocator* p
   declareProperty("Triplet_MinPtFrac",        m_tripletMinPtFrac = 0.3,"Triplet pT threshold is pTmin*Triplet_MinPtFrac");
   declareProperty("doSeedRedundancyCheck",    m_checkSeedRedundancy = false,"skip Triplets already used in a track");
 
+  //TODO: remove once decision made
+  declareProperty("FixSeedPhi",            m_tcs.m_fix_seed_phi = false,"apply the fix for the seed phi");
+
   /** settings for the ML-enhanced track seeding */
   declareProperty("UseTrigSeedML",              m_tcs.m_useTrigSeedML = 0,"set ML-based seed selection mode (0 disables)" );
   declareProperty("TrigSeedML_LUT",             m_trigseedML_LUT = "trigseed_ml_pixel_barrel_kde.lut","LUT used by ML-based seed selection");
diff --git a/Trigger/TrigTools/TrigInDetConfig/python/TrigTrackingPassFlags.py b/Trigger/TrigTools/TrigInDetConfig/python/TrigTrackingPassFlags.py
index 9968db311aa731cadaadc3cf3f7c1c5ca06c04a5..55ceca8f95aca5638e616572373241abaadbfe61 100644
--- a/Trigger/TrigTools/TrigInDetConfig/python/TrigTrackingPassFlags.py
+++ b/Trigger/TrigTools/TrigInDetConfig/python/TrigTrackingPassFlags.py
@@ -164,6 +164,8 @@ def createTrigTrackingPassFlags(mode="InDet"):
   flags.addFlag(f'{category}.RoiZedWidthDefault', 180.0 * Units.mm)
 
   flags.addFlag(f'{category}.doGPU', False)
+  #TODO: remove when decision made
+  flags.addFlag(f'{category}.fixSeedPhi', False)
 
   return flags
 
diff --git a/Trigger/TrigTools/TrigInDetPattRecoTools/TrigInDetPattRecoTools/TrigCombinatorialSettings.h b/Trigger/TrigTools/TrigInDetPattRecoTools/TrigInDetPattRecoTools/TrigCombinatorialSettings.h
index 439ffa2e60d888e2321212a9fea74e22fc53ee2d..832a4297372bbed53f0c404d30ab89223e5ea3cc 100644
--- a/Trigger/TrigTools/TrigInDetPattRecoTools/TrigInDetPattRecoTools/TrigCombinatorialSettings.h
+++ b/Trigger/TrigTools/TrigInDetPattRecoTools/TrigInDetPattRecoTools/TrigCombinatorialSettings.h
@@ -46,6 +46,9 @@ public:
     m_useEtaBinning = false;
     m_maxEC_len = 1.5;
     m_vLUT.clear();
+
+    //TODO: remove once decision made
+    m_fix_seed_phi = false;
   }
 
   int m_maxBarrelPix, m_minEndcapPix, m_maxEndcapPix, m_maxSiliconLayer;
@@ -81,6 +84,9 @@ public:
   std::vector<TrigSeedML_LUT> m_vLUT;
   float m_maxEC_len;
 
+  //TODO: remove once decision made
+  bool m_fix_seed_phi;
+
 } TRIG_COMBINATORIAL_SETTINGS;
 
 
diff --git a/Trigger/TrigTools/TrigInDetPattRecoTools/src/TrigTrackSeedGenerator.cxx b/Trigger/TrigTools/TrigInDetPattRecoTools/src/TrigTrackSeedGenerator.cxx
index afcb36cc307f387fd1421acee40c127a8e92f023..301d7c100afdb737e82675e4781e635d70c9bdbe 100644
--- a/Trigger/TrigTools/TrigInDetPattRecoTools/src/TrigTrackSeedGenerator.cxx
+++ b/Trigger/TrigTools/TrigInDetPattRecoTools/src/TrigTrackSeedGenerator.cxx
@@ -964,9 +964,8 @@ void TrigTrackSeedGenerator::createTripletsNew(const TrigSiSpacePointBase* pS, i
       if(dt2 > covdt+frac*dCov) continue;
 
       //4. d0 cut
-
-      const double d0_partial = B*pS_r - A;//Pre-calculate for use in phi check
-      const double fabs_d0 = std::fabs(pS_r*(d0_partial));
+      const double B_pS_r = B*pS_r;//Pre-calculate for use in phi check
+      const double fabs_d0 = std::fabs(pS_r*(B_pS_r - A));
 
       if(fabs_d0 > m_settings.m_tripletD0Max) continue;
 
@@ -980,9 +979,16 @@ void TrigTrackSeedGenerator::createTripletsNew(const TrigSiSpacePointBase* pS, i
       //5. phi0 cut
 
       if ( !fullPhi ) {
-        /// TODO: Check if uc calculation is correct; 
-        /// inconsistent with other versions of createSeeds
-        const double uc = 2*d0_partial;
+        double uc;
+
+        //TODO: remove once decision made
+        //for now put this change behind a flag
+        if(m_settings.m_fix_seed_phi){
+          uc = 2*B_pS_r - A;
+        }else{
+          uc = 2*(B*pS_r - A);
+        }
+
         const double phi0 = atan2(sinA - uc*cosA, cosA + uc*sinA);
 
         if ( !RoiUtil::containsPhi( *roiDescriptor, phi0 ) ) {