diff --git a/nifty4/library/noise_energy.py b/nifty4/library/noise_energy.py
index 815cab57013de4bfef1753e4326186509e5c5905..57aa9a1d8f136601015385b40106104110cb50db 100644
--- a/nifty4/library/noise_energy.py
+++ b/nifty4/library/noise_energy.py
@@ -82,7 +82,7 @@ class NoiseEnergy(Energy):
 
     def at(self, position):
         return self.__class__(
-            position, self.d, self.m, self.D, self.t, self.ht,
+            position, self.d, self.xi, self.D, self.t, self.ht,
             self.Instrument, self.nonlinearity, self.alpha, self.q,
             self.Projection, munit=self.munit, sunit=self.sunit,
             dunit=self.dunit, xi_sample_list=self.xi_sample_list,
diff --git a/test/test_energies/test_map.py b/test/test_energies/test_map.py
index 1be8412b591dbe6529ac6944f315a0cc55328230..9adbf699f902d4edbf16e14b877c44aa0c1474cd 100644
--- a/test/test_energies/test_map.py
+++ b/test/test_energies/test_map.py
@@ -65,8 +65,7 @@ class Energy_Tests(unittest.TestCase):
         S = ift.create_power_operator(hspace, power_spectrum=lambda k: 1.)
         energy0 = ift.library.WienerFilterEnergy(
             position=s0, d=d, R=R, N=N, S=S, inverter=inverter)
-        energy1 = ift.library.WienerFilterEnergy(
-            position=s1, d=d, R=R, N=N, S=S, inverter=inverter)
+        energy1 = energy0.at(s1)
 
         a = (energy1.value - energy0.value) / eps
         b = energy0.gradient.vdot(direction)
@@ -110,8 +109,7 @@ class Energy_Tests(unittest.TestCase):
         S = ift.create_power_operator(hspace, power_spectrum=lambda k: 1.)
         energy0 = ift.library.LogNormalWienerFilterEnergy(
             position=sh0, d=d, R=R, N=N, S=S, inverter=inverter)
-        energy1 = ift.library.LogNormalWienerFilterEnergy(
-            position=sh1, d=d, R=R, N=N, S=S, inverter=inverter)
+        energy1 = energy0.at(sh1)
 
         a = (energy1.value - energy0.value) / eps
         b = energy0.gradient.vdot(direction)
@@ -150,8 +148,7 @@ class Energy_Tests(unittest.TestCase):
         S = ift.create_power_operator(hspace, power_spectrum=lambda k: 1.)
         energy0 = ift.library.NonlinearWienerFilterEnergy(
             position=xi0, d=d, Instrument=R, nonlinearity=f, ht=ht, power=A, N=N, S=S)
-        energy1 = ift.library.NonlinearWienerFilterEnergy(
-            position=xi1, d=d, Instrument=R, nonlinearity=f, ht=ht, power=A, N=N, S=S)
+        energy1 = energy0.at(xi0)
 
         a = (energy1.value - energy0.value) / eps
         b = energy0.gradient.vdot(direction)
diff --git a/test/test_energies/test_noise.py b/test/test_energies/test_noise.py
index 043d9ea0757699294148986d0ac4f31cd6f0ba3c..55598d33a4f214cf75718a34eb4022363be60a75 100644
--- a/test/test_energies/test_noise.py
+++ b/test/test_energies/test_noise.py
@@ -91,10 +91,7 @@ class Noise_Energy_Tests(unittest.TestCase):
             position=eta0, d=d, xi=xi, D=D, t=tau, Instrument=R,
             alpha=alpha, q=q, Projection=P, nonlinearity=f,
             ht=ht, xi_sample_list=xi_sample_list)
-        energy1 = ift.library.NoiseEnergy(
-            position=eta1, d=d, xi=xi, D=D, t=tau, Instrument=R,
-            alpha=alpha, q=q, Projection=P, nonlinearity=f,
-            ht=ht, xi_sample_list=xi_sample_list)
+        energy1 = energy0.at(eta1)
 
         a = (energy1.value - energy0.value) / eps
         b = energy0.gradient.vdot(direction)
diff --git a/test/test_energies/test_power.py b/test/test_energies/test_power.py
index 93e25bb951d05b052c4748c189d9ab0022b3c14c..50aab6b3e6b47906b4f2e944c96cffef2617474a 100644
--- a/test/test_energies/test_power.py
+++ b/test/test_energies/test_power.py
@@ -77,8 +77,7 @@ class Energy_Tests(unittest.TestCase):
 
         energy0 = ift.library.CriticalPowerEnergy(
             position=tau0, m=s, inverter=inverter, w=w)
-        energy1 = ift.library.CriticalPowerEnergy(
-            position=tau1, m=s, inverter=inverter, w=w)
+        energy1 = energy0.at(tau1)
 
         a = (energy1.value - energy0.value) / eps
         b = energy0.gradient.vdot(direction)
@@ -147,17 +146,7 @@ class Energy_Tests(unittest.TestCase):
             ht=ht,
             N=N,
             xi_sample_list=xi_sample_list)
-        energy1 = ift.library.NonlinearPowerEnergy(
-            position=tau1,
-            d=d,
-            xi=xi,
-            D=D,
-            Instrument=R,
-            Projection=P,
-            nonlinearity=f,
-            ht=ht,
-            N=N,
-            xi_sample_list=xi_sample_list)
+        energy1 = energy0.at(tau1)
 
         a = (energy1.value - energy0.value) / eps
         b = energy0.gradient.vdot(direction)