diff --git a/ProcessLib/BoundaryCondition/HCNonAdvectiveFreeComponentFlowBoundaryConditionLocalAssembler.h b/ProcessLib/BoundaryCondition/HCNonAdvectiveFreeComponentFlowBoundaryConditionLocalAssembler.h
index d2f15883c4beecbb8b81b1d01c26629a1ae9dd8f..e0e91258c2d455152b4fb0fa9baea41d61f9bbcb 100644
--- a/ProcessLib/BoundaryCondition/HCNonAdvectiveFreeComponentFlowBoundaryConditionLocalAssembler.h
+++ b/ProcessLib/BoundaryCondition/HCNonAdvectiveFreeComponentFlowBoundaryConditionLocalAssembler.h
@@ -106,7 +106,11 @@ private:
         // At the moment (2016-09-28) the surface normal is not oriented
         // according to the right hand rule
         // for correct results it is necessary to multiply the normal with -1
-        return -MeshLib::FaceRule::getSurfaceNormal(&e).normalized();
+        Eigen::Vector3d surface_normal =
+            -MeshLib::FaceRule::getSurfaceNormal(&e).normalized();
+        auto const zeros_size = 3 - _data.process.getMesh().getDimension();
+        surface_normal.tail(zeros_size).setZero();
+        return surface_normal;
     }
 
     HCNonAdvectiveFreeComponentFlowBoundaryConditionData const& _data;