diff --git a/src/amdis/DirichletBC.inc.hpp b/src/amdis/DirichletBC.inc.hpp
index 6f285d24e0cb7c5293d335b1330830bca886b86f..0a1a576cc8a787f97a280845730b18e6ea982f73 100644
--- a/src/amdis/DirichletBC.inc.hpp
+++ b/src/amdis/DirichletBC.inc.hpp
@@ -20,8 +20,9 @@ init(RB const& rowBasis, CB const& colBasis)
   using LV = typename CB::LocalView;
   using IS = typename CB::GridView::Intersection;
   dirichletNodes_.resize(colBasis.dimension());
+  std::fill(dirichletNodes_.begin(), dirichletNodes_.end(), false);
   forEachBoundaryDOF(colBasis, [&](int localIndex, LV const& localView, IS const& intersection) {
-    dirichletNodes_[localView.index(localIndex)] = onBoundary(intersection);
+    dirichletNodes_[localView.index(localIndex)] = dirichletNodes_[localView.index(localIndex)] || onBoundary(intersection);
   });
 }