diff --git a/Tracking/TrkFitter/TrkGaussianSumFilter/TrkGaussianSumFilter/KLGaussianMixtureReduction.h b/Tracking/TrkFitter/TrkGaussianSumFilter/TrkGaussianSumFilter/KLGaussianMixtureReduction.h
index da3dcc2e50fd37951a737811433d2be815a4443a..3de2d3263c6e5c0926a57a057b8f3849c700db8a 100644
--- a/Tracking/TrkFitter/TrkGaussianSumFilter/TrkGaussianSumFilter/KLGaussianMixtureReduction.h
+++ b/Tracking/TrkFitter/TrkGaussianSumFilter/TrkGaussianSumFilter/KLGaussianMixtureReduction.h
@@ -107,6 +107,11 @@ struct Component1DArray
   int32_t numComponents = 0;
 };
 
+/* typedef tracking which component has been merged
+ */
+
+using IsMergedArray = std::array<bool,GSFConstants::maxComponentsAfterConvolution>; 
+
 /**
  * @brief Merge the componentsIn and return
  * which componets got merged
diff --git a/Tracking/TrkFitter/TrkGaussianSumFilter/src/GsfMaterialMixtureConvolution.cxx b/Tracking/TrkFitter/TrkGaussianSumFilter/src/GsfMaterialMixtureConvolution.cxx
index 08a80612f46a41383356cb4f3444926f6549e30d..a9fcc72aaa9ff0d3ea606c7c4e09f899cb52b554 100644
--- a/Tracking/TrkFitter/TrkGaussianSumFilter/src/GsfMaterialMixtureConvolution.cxx
+++ b/Tracking/TrkFitter/TrkGaussianSumFilter/src/GsfMaterialMixtureConvolution.cxx
@@ -349,7 +349,7 @@ Trk::GsfMaterialMixtureConvolution::update(
   // Merge components
   MultiComponentStateAssembler::Cache assemblerCache;
   int nMerges(0);
-  std::vector<bool> isMerged(n, false);
+  GSFUtils::IsMergedArray isMerged={};
   for (const auto& mergePair : merges) {
     const int8_t mini = mergePair.first;
     const int8_t minj = mergePair.second;