diff --git a/alberta/src/Common/l2scp.c b/alberta/src/Common/l2scp.c
index 4dedc6b6275e11145ed37209b5d244ef90908009..cebb4c40817a13a84a4bf67724be913644dcf936 100644
--- a/alberta/src/Common/l2scp.c
+++ b/alberta/src/Common/l2scp.c
@@ -3109,11 +3109,12 @@ static bool _AI_boundary_conditions(DOF_MATRIX *matrix,
   BNDRY_FLAGS_ALL(non_dirichlet);
   if (dirichlet_segment) {
     BNDRY_FLAGS_XOR(non_dirichlet, dirichlet_segment);
+    BNDRY_FLAGS_MARK_BNDRY(non_dirichlet);    
   } else {
     BNDRY_FLAGS_INIT(dirichlet);
     dirichlet_segment = dirichlet;
   }
-
+  
   if (fh && (gn || gn_loc)) {
     not_all_neumann =
       _AI_bndry_L2scp_fct_bas(fh, gn_loc, fd, fill_flag, gn,
@@ -3245,6 +3246,7 @@ _AI_boundary_conditions_dow(DOF_MATRIX *matrix,
   BNDRY_FLAGS_ALL(non_dirichlet);
   if (dirichlet_segment) {
     BNDRY_FLAGS_XOR(non_dirichlet, dirichlet_segment);
+    BNDRY_FLAGS_MARK_BNDRY(non_dirichlet);    
   } else {
     BNDRY_FLAGS_INIT(dirichlet);
     dirichlet_segment = dirichlet;