diff --git a/src/action.hpp b/src/action.hpp
index 691f3511dd35ed74273f0796374adcf227b36dbd..2531af08a0b804a0f05b26615569596cc48d7502 100644
--- a/src/action.hpp
+++ b/src/action.hpp
@@ -80,8 +80,8 @@ inline Scalar S_2(const array::ArrayView<const Mask, Shape0>& mask,
 
     const double dd[2] = {Lx / nx, Ly / ny};
 
-    const int N_i[4] = {1, 0, -1, 0};
-    const int N_j[4] = {0, 1, 0, -1};
+    const int N_i[2] = {1, 0};
+    const int N_j[2] = {0, 1};
 
     /*
      * Directions cycle (left->right, down->up, right->left, up->down)
@@ -102,13 +102,10 @@ inline Scalar S_2(const array::ArrayView<const Mask, Shape0>& mask,
             if (mask(i,j) == Mask::VACUUM)
                 continue;
 
-            if (i != 3 || j != 4)
-                continue;
-
             auto Q1 = Qmat.part(i,j).matrix();
 
             /* Sum over neighbors */
-            for (size_t k = 1; k < 1+1; ++k) {
+            for (size_t k = 0; k < 2; ++k) {
                 int i2 = i + N_i[k];
                 int j2 = j + N_j[k];
                 
@@ -315,7 +312,7 @@ inline Scalar S(const array::ArrayView<const Mask, Shape0>& mask,
         }
     }
 
-    S = S + S_2<Scalar>(mask, Qmat, U, Lx, Ly, D);// + S_Omega<Scalar>(mask, Qmat, omega, Omega, Lx, Ly) + S_H<Scalar>(mask, Qmat, U, Lx, Ly, eta);
+    S = S + S_2<Scalar>(mask, Qmat, U, Lx, Ly, D) + S_Omega<Scalar>(mask, Qmat, omega, Omega, Lx, Ly) + S_H<Scalar>(mask, Qmat, U, Lx, Ly, eta);
     return S;
 }