diff --git a/nifty/field.py b/nifty/field.py
index e30aa75824dd104ea67152198cf568fc2d260b4b..4062e8fb3c2cbca9e93f7510405a013c9d0175b2 100644
--- a/nifty/field.py
+++ b/nifty/field.py
@@ -596,8 +596,9 @@ class Field(Loggable, Versionable, object):
                                               domain_axes[space],
                                               preserve_gaussian_variance=True)
             c = (hh - ha - ah + aa).conjugate()
-            h = (val + c)/2.
-            a = (val - c)/2.
+            full = (hh + ha + ah + aa)
+            h = (full + c)/2.
+            a = (full - c)/2.
 
         # correct variance