diff --git a/src/scheme/ScalarNodalScheme.cpp b/src/scheme/ScalarNodalScheme.cpp
index 90bcff7d4c4db5b3a4908595bf5e9075985620dc..4b65e08eb4b167e0c1351c68b47c559c4de851f2 100644
--- a/src/scheme/ScalarNodalScheme.cpp
+++ b/src/scheme/ScalarNodalScheme.cpp
@@ -513,17 +513,16 @@ class ScalarNodalSchemeHandler::ScalarNodalScheme : public ScalarNodalSchemeHand
 
       const NodeValuePerCell<const double> theta = [&] {
         NodeValuePerCell<double> compute_theta{mesh->connectivity()};
-        // parallel_for(
-        //  mesh->numberOfCells(), PUGS_LAMBDA(CellId cell_id) {
-        for (CellId cell_id = 0; cell_id < mesh->numberOfCells(); ++cell_id) {
-          const auto& cell_nodes = cell_to_node_matrix[cell_id];
-          for (size_t i_node = 0; i_node < cell_nodes.size(); ++i_node) {
-            const NodeId node_id = cell_nodes[i_node];
-            std::cout << "node_id = " << node_id << "\n";
-            compute_theta(cell_id, i_node) = dot(inverse(node_betar[node_id]) * Cjr(cell_id, i_node), v[node_id]);
-          }
-        }
-        //          });
+        parallel_for(
+          mesh->numberOfCells(), PUGS_LAMBDA(CellId cell_id) {
+            const auto& cell_nodes = cell_to_node_matrix[cell_id];
+            for (size_t i_node = 0; i_node < cell_nodes.size(); ++i_node) {
+              const NodeId node_id = cell_nodes[i_node];
+              if (not is_boundary_node[node_id]) {
+                compute_theta(cell_id, i_node) = dot(inverse(node_betar[node_id]) * Cjr(cell_id, i_node), v[node_id]);
+              }
+            }
+          });
         return compute_theta;
       }();