diff --git a/python/dune/perftool/generation/context.py b/python/dune/perftool/generation/context.py
index d96e7e9cd65123e93f1f70e7e91801a37df001cb..85ea60a9dbc8bde8751a8281ed2ab9718a099e81 100644
--- a/python/dune/perftool/generation/context.py
+++ b/python/dune/perftool/generation/context.py
@@ -5,8 +5,9 @@ _cache_context_stack = []
 
 
 class _CacheContext(object):
-    def __init__(self, tags):
+    def __init__(self, tags, delete=False):
         self.tags = tags
+        self.delete = delete
 
     def __enter__(self):
         _cache_context_stack.append(self.tags)
@@ -14,9 +15,13 @@ class _CacheContext(object):
     def __exit__(self, exc_type, exc_value, traceback):
         _cache_context_stack.pop()
 
+        if self.delete:
+            from dune.perftool.generation.cache import delete_cache_items
+            delete_cache_items(condition=" and ".join(self.tags))
 
-def cache_context(*tags):
-    return _CacheContext(tags)
+
+def cache_context(*tags, **kwargs):
+    return _CacheContext(tags, **kwargs)
 
 
 def get_context_tags():