diff --git a/harmonicmaps-eoc.cc b/harmonicmaps-eoc.cc
index b432f74fa46f67bbf1538ff7aabbec5884ec3d77..3867b8da471fa2baab63421d831ae62081cd95da 100644
--- a/harmonicmaps-eoc.cc
+++ b/harmonicmaps-eoc.cc
@@ -280,10 +280,8 @@ int main (int argc, char *argv[]) try
         // Prolong solution to the very finest grid
         for (int j=i; j<numLevels; j++) {
             FEBasis basis(grid->leafView());
-#if defined THIRD_ORDER
-            GeodesicFEFunctionAdaptor<FEBasis,TargetSpace>::higherOrderGFEFunctionAdaptor<3>(basis, *grid, solution);
-#elif defined SECOND_ORDER
-            GeodesicFEFunctionAdaptor<FEBasis,TargetSpace>::higherOrderGFEFunctionAdaptor<2>(basis, *grid, solution);
+#if defined THIRD_ORDER || defined SECOND_ORDER
+            GeodesicFEFunctionAdaptor<FEBasis,TargetSpace>::higherOrderGFEFunctionAdaptor<order>(basis, *grid, solution);
 #else
             geodesicFEFunctionAdaptor(*grid, solution);
 #endif