diff --git a/pystencils/field.py b/pystencils/field.py
index 2cd7096b7fa171ab1cb8d9b83bec66ffc339ca5d..507be0c2cad932eed64419b70e1b55783cff4273 100644
--- a/pystencils/field.py
+++ b/pystencils/field.py
@@ -845,7 +845,7 @@ class Field(AbstractField):
             assert FieldType.is_staggered(self._field)
             neighbor = self._field.staggered_stencil[index]
             neighbor = direction_string_to_offset(neighbor, self._field.spatial_dimensions)
-            return [(o - sp.Rational(int(neighbor[i]), 2)) for i, o in enumerate(offsets)]
+            return [(o + sp.Rational(int(neighbor[i]), 2)) for i, o in enumerate(offsets)]
 
         def _latex(self, _):
             n = self._field.latex_name if self._field.latex_name else self._field.name
diff --git a/pystencils_tests/test_field.py b/pystencils_tests/test_field.py
index ad23682a71b0286446dd13b29e5216cc11d2aeef..a2813e34f9c72c8bbcd848d21993c181cf31fc43 100644
--- a/pystencils_tests/test_field.py
+++ b/pystencils_tests/test_field.py
@@ -154,12 +154,18 @@ def test_staggered():
                                                         for j in range(2)] for i in range(2)])
 
     # D2Q9
-    k = ps.fields('k(4) : double[2D]', field_type=FieldType.STAGGERED)
-
-    assert k[1, 1](2) == k.staggered_access("NE")
-    assert k[0, 0](2) == k.staggered_access("SW")
-
-    assert k[0, 0](3) == k.staggered_access("NW")
+    k1, k2 = ps.fields('k1(4), k2(2) : double[2D]', field_type=FieldType.STAGGERED)
+
+    assert k1[1, 1](2) == k1.staggered_access("NE")
+    assert k1[0, 0](2) == k1.staggered_access("SW")
+    assert k1[0, 0](3) == k1.staggered_access("NW")
+    
+    a = k1.staggered_access("NE")
+    assert a._staggered_offset(a.offsets, a.index[0]) == [sp.Rational(1, 2), sp.Rational(1, 2)]
+    a = k1.staggered_access("SW")
+    assert a._staggered_offset(a.offsets, a.index[0]) == [sp.Rational(-1, 2), sp.Rational(-1, 2)]
+    a = k1.staggered_access("NW")
+    assert a._staggered_offset(a.offsets, a.index[0]) == [sp.Rational(-1, 2), sp.Rational(1, 2)]
 
     # sign reversed when using as flux field
     r = ps.fields('r(2) : double[2D]', field_type=FieldType.STAGGERED_FLUX)