diff --git a/Tracking/TrkFitter/TrkGaussianSumFilter/src/MultiComponentStateAssembler.cxx b/Tracking/TrkFitter/TrkGaussianSumFilter/src/MultiComponentStateAssembler.cxx
index 91725d977502a1c645e38bc790966c73585cb8dd..0d70e2bca7da86f5e4c4f1adee09663d0c417f0d 100644
--- a/Tracking/TrkFitter/TrkGaussianSumFilter/src/MultiComponentStateAssembler.cxx
+++ b/Tracking/TrkFitter/TrkGaussianSumFilter/src/MultiComponentStateAssembler.cxx
@@ -55,7 +55,7 @@ doStateAssembly(Cache& cache, const double newWeight)
     Trk::MultiComponentState assembledState;
     assembledState.reserve(cacheSize);
     for (auto& component : cache.multiComponentState) {
-      assembledState.emplace_back(component.first.release(), component.second);
+      assembledState.emplace_back(std::move(component.first), component.second);
     }
     // Reset the cache before leaving
     reset(cache);
@@ -66,7 +66,7 @@ doStateAssembly(Cache& cache, const double newWeight)
   const double scalingFactor =
     cache.validWeightSum > 0. ? newWeight / cache.validWeightSum : 1.;
   for (auto& component : cache.multiComponentState) {
-    assembledState.emplace_back(component.first.release(),
+    assembledState.emplace_back(std::move(component.first),
                                 component.second * scalingFactor);
   }
   // Reset the cache before leaving
@@ -95,7 +95,7 @@ Trk::MultiComponentStateAssembler::addComponent(
     return false;
   }
   cache.validWeightSum += componentParameters.second;
-  cache.multiComponentState.emplace_back(componentParameters.first.release(),
+  cache.multiComponentState.emplace_back(std::move(componentParameters.first),
                                          componentParameters.second);
   return true;
 }
@@ -111,7 +111,7 @@ Trk::MultiComponentStateAssembler::addMultiState(
   double sumW(0.);
   for (auto& component : multiComponentState) {
     sumW += component.second;
-    cache.multiComponentState.emplace_back(component.first.release(),
+    cache.multiComponentState.emplace_back(std::move(component.first),
                                            component.second);
   }
   multiComponentState.clear();
diff --git a/Tracking/TrkFitter/TrkGaussianSumFilter/src/PosteriorWeightsCalculator.cxx b/Tracking/TrkFitter/TrkGaussianSumFilter/src/PosteriorWeightsCalculator.cxx
index 3e78503da77cc46d3a79668820c2a978f54eed95..66bf47aa1dcfbd6d0ff0167d4354e96a9e596a3e 100644
--- a/Tracking/TrkFitter/TrkGaussianSumFilter/src/PosteriorWeightsCalculator.cxx
+++ b/Tracking/TrkFitter/TrkGaussianSumFilter/src/PosteriorWeightsCalculator.cxx
@@ -238,7 +238,7 @@ Trk::PosteriorWeightsCalculator::weights(MultiComponentState&& predictedState,
     } else {
       updatedWeight = 1e-10;
     }
-    returnMultiComponentState.emplace_back(component->first.release(),
+    returnMultiComponentState.emplace_back(std::move(component->first),
                                            updatedWeight);
     sumWeights += updatedWeight;
   }
diff --git a/Tracking/TrkFitter/TrkGaussianSumFilter/src/QuickCloseComponentsMultiStateMerger.cxx b/Tracking/TrkFitter/TrkGaussianSumFilter/src/QuickCloseComponentsMultiStateMerger.cxx
index 580ca1ea7fee3ead431bf251b34920dfd385a5bd..7b146bc09ae5eda65fada9dfe034c81184aeb1b3 100644
--- a/Tracking/TrkFitter/TrkGaussianSumFilter/src/QuickCloseComponentsMultiStateMerger.cxx
+++ b/Tracking/TrkFitter/TrkGaussianSumFilter/src/QuickCloseComponentsMultiStateMerger.cxx
@@ -61,7 +61,7 @@ mergeFullDistArray(Trk::MultiComponentStateAssembler::Cache& cache,
       continue;
     }
     cache.multiComponentState.emplace_back(
-      Trk::ComponentParameters(state.first.release(), state.second));
+      Trk::ComponentParameters(std::move(state.first), state.second));
     cache.validWeightSum += state.second;
   }
   Trk::MultiComponentState mergedState =