diff --git a/dune/gfe/neumannenergy.hh b/dune/gfe/neumannenergy.hh
index 1c16908aca1aa716b95c57c2be45d0e2a6e048b0..2af52ba77ece52edc4b1d9965d12665ac0924519 100644
--- a/dune/gfe/neumannenergy.hh
+++ b/dune/gfe/neumannenergy.hh
@@ -57,7 +57,8 @@ public:
       if (not neumannBoundary_ or not neumannBoundary_->contains(intersection))
         continue;
 
-      int quadOrder = localFiniteElement.localBasis().order();
+      int quadOrder = (element.type().isSimplex()) ? localFiniteElement.localBasis().order()
+                                                    : localFiniteElement.localBasis().order() * dim;
 
       const auto& quad = Dune::QuadratureRules<DT, dim-1>::rule(intersection.type(), quadOrder);