diff --git a/dune/functions/functionspacebases/argyrisbasis.hh b/dune/functions/functionspacebases/argyrisbasis.hh
index 5d06fa679706c4e6afacab63dd03854e505280e1..58afb6cf31ac1dbc1cd0545e761c1e0850a03e28 100644
--- a/dune/functions/functionspacebases/argyrisbasis.hh
+++ b/dune/functions/functionspacebases/argyrisbasis.hh
@@ -153,10 +153,10 @@ namespace Dune
                 return true;
               else if (localKey.index() == 3) // first direction, second derivative, clamped if
                                               // tangential or normal to this element
-                return isTangential(localKey.subEntity(), 0) || isNormal(localKey.subEntity(), 0);
+                return isTangential(localKey.subEntity(), 0);
               else if (localKey.index() == 5) // second direction, second derivative, clamped if
                                               // tangential or normal to this element
-                return isTangential(localKey.subEntity(), 1) || isNormal(localKey.subEntity(), 1);
+                return isTangential(localKey.subEntity(), 1);
               else // cross derivative, always clamped
                 return true;
             }
@@ -930,7 +930,19 @@ namespace Dune
             if (setTangential[2]) // if first is tangential
             {
               if (setTangential[3])
-                continue; // both are tangetials, i.e. vertex is corner
+              // both are tangetials, i.e. vertex is corner
+              {
+                // check if orthogonal
+                if (dir[0].dot(dir[1]) < 1e-14)
+                {
+                  // direction is normal to all elements that other direction is tangential to
+                  auto lenInd_1 = indices[1].size();
+                  for (auto const &index : indices[0])
+                    indices[1].push_back(index);
+                  for (std::size_t i = 0; i < lenInd_1; ++i)
+                    indices[0].push_back(indices[1][i]);
+                }
+              }
               else        // straight boundary segment
               {
                 // set second direction normal to first