diff --git a/ProcessLib/TES/TESLocalAssembler-impl.h b/ProcessLib/TES/TESLocalAssembler-impl.h
index 524089b91208ad2f263fe0cf220e1bd4d5c7eac8..4fd24c325c93b8c98e8d4788d0e0f55a5df7fc8d 100644
--- a/ProcessLib/TES/TESLocalAssembler-impl.h
+++ b/ProcessLib/TES/TESLocalAssembler-impl.h
@@ -119,7 +119,7 @@ TESLocalAssembler<
          // TODO narrowing conversion
          static_cast<const unsigned>(
              _shape_matrices.front()
-                 .N.rows()) /* number of integration points */,
+                 .N.cols()) /* number of integration points */,
          GlobalDim),
       _local_M(ShapeFunction::NPOINTS * NODAL_DOF,
                ShapeFunction::NPOINTS * NODAL_DOF),
diff --git a/ProcessLib/TES/TESLocalAssemblerInner-impl.h b/ProcessLib/TES/TESLocalAssemblerInner-impl.h
index cb5fb3ec0c5bf8ddbfbbc5694a79a6995b13b882..d587920df981851367fd1f4e838c8fb2412595d5 100644
--- a/ProcessLib/TES/TESLocalAssemblerInner-impl.h
+++ b/ProcessLib/TES/TESLocalAssemblerInner-impl.h
@@ -318,9 +318,9 @@ void TESLocalAssemblerInner<Traits>::assembleIntegrationPoint(
     auto const detJ_w_NT_N = (detJ_w_NT * smN).eval();
     assert(detJ_w_NT_N.rows() == N && detJ_w_NT_N.cols() == N);
 
-    auto const detJ_w_N_vT_dNdx =
+    auto const detJ_w_NT_vT_dNdx =
         (detJ_w_NT * velocity.transpose() * smDNdx).eval();
-    assert(detJ_w_N_vT_dNdx.rows() == N && detJ_w_N_vT_dNdx.cols() == N);
+    assert(detJ_w_NT_vT_dNdx.rows() == N && detJ_w_NT_vT_dNdx.cols() == N);
 
     for (unsigned r = 0; r < NODAL_DOF; ++r)
     {
@@ -331,7 +331,7 @@ void TESLocalAssemblerInner<Traits>::assembleIntegrationPoint(
                     Traits::blockDimDim(laplaceCoeffMat, D * r, D * c, D, D) *
                     smDNdx  // end Laplacian part
                 + detJ_w_NT_N * contentCoeffMat(r, c) +
-                detJ_w_N_vT_dNdx * advCoeffMat(r, c);
+                detJ_w_NT_vT_dNdx * advCoeffMat(r, c);
             Traits::blockShpShp(local_M, N * r, N * c, N, N).noalias() +=
                 detJ_w_NT_N * massCoeffMat(r, c);
         }
@@ -342,7 +342,7 @@ void TESLocalAssemblerInner<Traits>::assembleIntegrationPoint(
     for (unsigned r = 0; r < NODAL_DOF; ++r)
     {
         Traits::blockShp(local_b, N * r, N).noalias() +=
-            rhsCoeffVector(r) * smN * smDetJ * weight;
+            rhsCoeffVector(r) * smN.transpose() * smDetJ * weight;
     }
 }