diff --git a/nifty5/energies/hamiltonian.py b/nifty5/energies/hamiltonian.py
index f378a3a1b501c438b7d95c00e5e9d85d82cc71d9..895bfd560ea19cc6d2d9556fc41b0c4840e458a4 100644
--- a/nifty5/energies/hamiltonian.py
+++ b/nifty5/energies/hamiltonian.py
@@ -31,10 +31,10 @@ class Hamiltonian(Energy):
         lh: Likelihood (energy object)
         prior:
         """
-        super(Hamiltonian, self).__init__(lh.position)
+        super(Hamiltonian, self).__init__(lh._position)
         self._lh = lh
         self._ic_samp = iteration_controller_sampling
-        self._prior = GaussianEnergy(Variable(self.position))
+        self._prior = GaussianEnergy(Variable(self._position))
 
     def at(self, position):
         return self.__class__(self._lh.at(position), self._ic_samp)
diff --git a/nifty5/library/gaussian_energy.py b/nifty5/library/gaussian_energy.py
index 5f726fcccdba2de5b734f2d86edf8c601d02951b..846730565cbb2821c60f39696e814a2a5849143c 100644
--- a/nifty5/library/gaussian_energy.py
+++ b/nifty5/library/gaussian_energy.py
@@ -32,7 +32,7 @@ class GaussianEnergy(Energy):
         value = 0.5 * s.vdot(s), i.e. a log-Gauss distribution with unit
         covariance
         """
-        super(GaussianEnergy, self).__init__(inp.position)
+        super(GaussianEnergy, self).__init__(inp._position)
         self._inp = inp
         self._mean = mean
         self._cov = covariance
diff --git a/nifty5/minimization/quadratic_energy.py b/nifty5/minimization/quadratic_energy.py
index 9e27257e6df82e6e16cf37a66622b38763ef5935..1568848be76ea200c16d536500f9e7106184587a 100644
--- a/nifty5/minimization/quadratic_energy.py
+++ b/nifty5/minimization/quadratic_energy.py
@@ -35,14 +35,14 @@ class QuadraticEnergy(Energy):
             self._grad = _grad
             Ax = _grad if b is None else _grad + b
         else:
-            Ax = self._A(self.position)
+            Ax = self._A(self._position)
             self._grad = Ax if b is None else Ax - b
-        self._value = 0.5*self.position.vdot(Ax)
+        self._value = 0.5*self._position.vdot(Ax)
         if b is not None:
-            self._value -= b.vdot(self.position)
+            self._value -= b.vdot(self._position)
 
     def at(self, position):
-        return QuadraticEnergy(position=position, A=self._A, b=self._b)
+        return QuadraticEnergy(position, self._A, self._b)
 
     def at_with_grad(self, position, grad):
         """ Specialized version of `at`, taking also a gradient.
@@ -63,8 +63,7 @@ class QuadraticEnergy(Energy):
         Energy
             Energy object at new position.
         """
-        return QuadraticEnergy(position=position, A=self._A, b=self._b,
-                               _grad=grad)
+        return QuadraticEnergy(position, self._A, self._b, grad)
 
     @property
     def value(self):
diff --git a/nifty5/models/multi_model.py b/nifty5/models/multi_model.py
index 2033923daf852ac0ddc4342b8b219843674835fa..b661a25bb76bb95e1e7edaebd1b16d42a4a39eca 100644
--- a/nifty5/models/multi_model.py
+++ b/nifty5/models/multi_model.py
@@ -35,7 +35,7 @@ class MultiModel(Model):
         val = self._model.value
         if not isinstance(val.domain, DomainTuple):
             raise TypeError
-        self._value = MultiField({key: val})
+        self._value = MultiField.from_dict({key: val})
         self._jacobian = (MultiAdaptor(self.value.domain) *
                           self._model.jacobian)
 
diff --git a/nifty5/operators/symmetrizing_operator.py b/nifty5/operators/symmetrizing_operator.py
index cc31d96a7908445a360beb31f2c14c62cde8d0c1..2d0df00de0374477bcc57cd7664670a2147bcfa3 100644
--- a/nifty5/operators/symmetrizing_operator.py
+++ b/nifty5/operators/symmetrizing_operator.py
@@ -47,7 +47,7 @@ class SymmetrizingOperator(EndomorphicOperator):
             tmp2[lead+(slice(1, None),)] -= tmp2[lead+(slice(None, 0, -1),)]
             if i == ax:
                 tmp = dobj.redistribute(tmp, dist=ax)
-            return Field(self.target, val=tmp)
+        return Field(self.target, val=tmp)
 
     @property
     def capability(self):