diff --git a/dune/functions/functionspacebases/argyrisbasis.hh b/dune/functions/functionspacebases/argyrisbasis.hh
index e7f2a3808a6acb2b608f6ff213cae931d7b74ac1..fb24381ba4fdeaaf36c021e217ecfd6459b045eb 100644
--- a/dune/functions/functionspacebases/argyrisbasis.hh
+++ b/dune/functions/functionspacebases/argyrisbasis.hh
@@ -84,9 +84,7 @@ namespace Dune
         {
 
           if (element.geometry().affine())
-            fillMatrix(Dune::referenceElement<double, 2>(GeometryTypes::simplex(2)).position(0, 0),
-                       element.geometry(),
-                       elementInfo); // barycenter, because we need some value.
+            fillMatrix(element.geometry(), elementInfo);
           else
             DUNE_THROW(Dune::NotImplemented,
                        "Argyris Element is only implemented for affine transformations");
@@ -217,8 +215,8 @@ namespace Dune
           mat_.endindices();
         }
 
-        template <class LocalCoordinate, class Element>
-        void fillMatrix(LocalCoordinate const &xi, typename Element::Geometry const &geometry,
+        template <class Element>
+        void fillMatrix(typename Element::Geometry const &geometry,
                         ElementInformation<Element> const &elementInfo)
         {
           std::array<R, 3> const &edgeOrientation = elementInfo.getEdgeOrientation();
@@ -234,7 +232,8 @@ namespace Dune
           // from the global normals/tangents normalize
 
           // get local and global Tangents
-          auto refElement = Dune::referenceElement<double, 2>(geometry.type());
+          auto refElement
+              = Dune::referenceElement<typename Element::Geometry::ctype, 2>(geometry.type());
           for (std::size_t i = 0; i < 3; ++i)
           {
             std::size_t lower = (i == 2) ? 1 : 0;
@@ -855,7 +854,7 @@ namespace Dune
         Dune::MultipleCodimMultipleGeomTypeMapper<GV> elementMapper_;
         std::vector<ElementInformation> elementInformation_;
 
-      private:
+        // helper methods
         bool linearIndependent(Dune::FieldVector<D, dim> a, Dune::FieldVector<D, dim> b)
         {
           return std::abs(a.dot(Dune::FieldVector<D, dim>{-b[1], b[0]})) > 1e-14;