diff --git a/nifty6/minimization/metric_gaussian_kl.py b/nifty6/minimization/metric_gaussian_kl.py
index a4f1589e416b7c0a5d3123a9a6d0f210da53424c..8cfe2a4e5f8dc0d41c666eafdd29c17c73878719 100644
--- a/nifty6/minimization/metric_gaussian_kl.py
+++ b/nifty6/minimization/metric_gaussian_kl.py
@@ -231,8 +231,12 @@ class MetricGaussianKL(Energy):
             else:
                 mymap = map(lambda v: self._hamiltonian(lin+v).metric,
                             self._samples)
-                self.unscaled_metric = utilities.my_sum(mymap)
-                self._metric = self.unscaled_metric.scale(1./self._n_eff_samples)
+                unscaled_metric = utilities.my_sum(mymap)
+                if self._mirror_samples:
+                    mymap = map(lambda v: self._hamiltonian(lin-v).metric,
+                            self._samples)
+                    unscaled_metric = unscaled_metric + utilities.my_sum(mymap)
+                self._metric = unscaled_metric.scale(1./self._n_eff_samples)
 
     def apply_metric(self, x):
         self._get_metric()