diff --git a/src/amdis/BoundaryCondition.hpp b/src/amdis/BoundaryCondition.hpp
index aa6c134099c2cabcacc74c3c8aef706d7734b718..1b10038ff0f401860ecfcb0529d8ba88f034ee48 100644
--- a/src/amdis/BoundaryCondition.hpp
+++ b/src/amdis/BoundaryCondition.hpp
@@ -11,16 +11,11 @@ namespace AMDiS
   {
   public:
     BoundaryCondition() = default;
-
     BoundaryCondition(std::shared_ptr<BoundaryManagerBase const> const& boundaryManager, BoundaryType id)
       : boundaryManager_(boundaryManager)
       , id_(id)
     {}
 
-    BoundaryCondition(BoundaryManagerBase const& boundaryManager, BoundaryType id)
-      : BoundaryCondition(Dune::stackobject_to_shared_ptr(boundaryManager), id)
-    {}
-
     /// Return true if intersection is on boundary with id
     template <class Intersection>
     bool onBoundary(Intersection const& is) const
@@ -28,6 +23,12 @@ namespace AMDiS
       return is.boundary() && (!boundaryManager_  || boundaryManager_->boundaryId(is) == id_);
     }
 
+    template <class RowBasis, class ColBasis>
+    void init(RowBasis const& rowBasis, ColBasis const& colBasis) { /* do nothing */ }
+
+    template <class Matrix, class X, class B, class RN, class RTP, class CN, class CTP>
+    void fillBoundaryCondition(Matrix& A, X& x, B& b, RN const& rowNode, RTP rowTreePath, CN const& colNode, CTP colTreePath) { /* do nothing */ }
+
   protected:
     std::shared_ptr<BoundaryManagerBase const> boundaryManager_{nullptr};
     BoundaryType id_{0};