diff --git a/applications/knl/poisson_dg/knl_poisson_dg.mini b/applications/knl/poisson_dg/knl_poisson_dg.mini
index ba2f345fd39edcca22fbbb9aded8e4bd3193157c..41755b7e08a746af270a3d6572dea6dc6273404a 100644
--- a/applications/knl/poisson_dg/knl_poisson_dg.mini
+++ b/applications/knl/poisson_dg/knl_poisson_dg.mini
@@ -3,6 +3,7 @@ __exec_suffix = deg{formcompiler.ufl_variants.degree}_{opcount_suffix}_level{for
 
 opcount_suffix = opcount, nonopcount | expand opcount
 {opcount_suffix} == opcount and {formcompiler.instrumentation_level} != 4 | exclude
+dune-opcounter_FOUND, 1 | expand opcount | cmake_guard
 
 # Calculate the size of the grid to equlibritate it to 100 MB/rank
 # Input parameters
diff --git a/applications/knl/poisson_dg_tensor/knl_poisson_dg_tensor.mini b/applications/knl/poisson_dg_tensor/knl_poisson_dg_tensor.mini
index 4f3f5826f71fd9fc742efa4d88ae222e45759529..9d87f7eea1d29b61fc50ee460b8a1098b42cfc5a 100644
--- a/applications/knl/poisson_dg_tensor/knl_poisson_dg_tensor.mini
+++ b/applications/knl/poisson_dg_tensor/knl_poisson_dg_tensor.mini
@@ -3,6 +3,7 @@ __exec_suffix = deg{formcompiler.ufl_variants.degree}_{opcount_suffix}_level{for
 
 opcount_suffix = opcount, nonopcount | expand opcount
 {opcount_suffix} == opcount and {formcompiler.instrumentation_level} != 4 | exclude
+dune-opcounter_FOUND, 1 | expand opcount | cmake_guard
 
 # Calculate the size of the grid to equlibritate it to 100 MB/rank
 # Input parameters
diff --git a/applications/poisson_dg/poisson_dg.mini b/applications/poisson_dg/poisson_dg.mini
index 7e65a4815f5fccc2dc6aae955bbdef559e9ebe92..d031d8233611e2492ef17eb80c3ae5d24518183f 100644
--- a/applications/poisson_dg/poisson_dg.mini
+++ b/applications/poisson_dg/poisson_dg.mini
@@ -3,6 +3,7 @@ __exec_suffix = deg{formcompiler.ufl_variants.degree}_{opcount_suffix}_level{for
 
 opcount_suffix = opcount, nonopcount | expand opcount
 {opcount_suffix} == opcount and {formcompiler.instrumentation_level} != 4 | exclude
+dune-opcounter_FOUND, 1 | expand opcount | cmake_guard
 
 # Calculate the size of the grid to equlibritate it to 100 MB/rank
 # Input parameters
diff --git a/applications/poisson_dg_tensor/poisson_dg_tensor.mini b/applications/poisson_dg_tensor/poisson_dg_tensor.mini
index 4e7ac555b33fa5fcef568cca5b6dddf6dd3552e3..a5738a46a076588437d0cf2a509fa4623290af2f 100644
--- a/applications/poisson_dg_tensor/poisson_dg_tensor.mini
+++ b/applications/poisson_dg_tensor/poisson_dg_tensor.mini
@@ -3,6 +3,7 @@ __exec_suffix = deg{formcompiler.ufl_variants.degree}_{opcount_suffix}_level{for
 
 opcount_suffix = opcount, nonopcount | expand opcount
 {opcount_suffix} == opcount and {formcompiler.instrumentation_level} != 4 | exclude
+dune-opcounter_FOUND, 1 | expand opcount | cmake_guard
 
 # Calculate the size of the grid to equlibritate it to 100 MB/rank
 # Input parameters
diff --git a/applications/stokes_dg/stokes_dg.mini b/applications/stokes_dg/stokes_dg.mini
index a80567f9b73473ae09e52c3a768177431435e849..6160ced2c164d0fb777f4777234bb30dd0d11768 100644
--- a/applications/stokes_dg/stokes_dg.mini
+++ b/applications/stokes_dg/stokes_dg.mini
@@ -3,6 +3,7 @@ __exec_suffix = deg{formcompiler.ufl_variants.v_degree}_{opcount_suffix}_level{f
 
 opcount_suffix = opcount, nonopcount | expand opcount
 {opcount_suffix} == opcount and {formcompiler.instrumentation_level} != 4 | exclude
+dune-opcounter_FOUND, 1 | expand opcount | cmake_guard
 
 # Calculate the size of the grid to equlibritate it to 100 MB/rank
 # Input parameters
diff --git a/test/poisson/CMakeLists.txt b/test/poisson/CMakeLists.txt
index a05cbe8c3650c9e33f8f5c4f1bbce696b2df9ba8..0a4f9897176e1aaa2a2864c23bf97135eb67261b 100644
--- a/test/poisson/CMakeLists.txt
+++ b/test/poisson/CMakeLists.txt
@@ -44,10 +44,12 @@ dune_add_formcompiler_system_test(UFLFILE poisson_dg.ufl
                                   )
 
 # 8. Poisson with operator counting
-dune_add_formcompiler_system_test(UFLFILE opcount_poisson_dg.ufl
-                                  BASENAME opcount_poisson_dg_symdiff
-                                  INIFILE opcount_poisson_dg_symdiff.mini
-                                  )
+if(dune-opcounter_FOUND)
+  dune_add_formcompiler_system_test(UFLFILE opcount_poisson_dg.ufl
+                                    BASENAME opcount_poisson_dg_symdiff
+                                    INIFILE opcount_poisson_dg_symdiff.mini
+                                    )
+endif()
 
 # 9. Poisson Test Case: DG quadrilaterals
 dune_add_formcompiler_system_test(UFLFILE poisson_dg_quadrilateral.ufl