diff --git a/beat/web/experiments/models.py b/beat/web/experiments/models.py
index 2a80a2665d33d6ab50a164d7c17390454da6910d..ebd24c08ed7eb93146c7cc31cc8758761b42a2dd 100644
--- a/beat/web/experiments/models.py
+++ b/beat/web/experiments/models.py
@@ -661,13 +661,16 @@ class Experiment(Shareable):
     def reset(self):
         """Resets an experiment so it can be run again"""
 
-        for block in self.blocks.all():
-            block.results.all().delete()
-            block.delete()
+        self.blocks.update(
+            status=Block.NOT_CACHED,
+            start_date=None,
+            end_date=None,
+            runnable_date=None,
+            )
 
         self.start_date = None
-        self.end_date   = None
-        self.status     = self.PENDING
+        self.end_date = None
+        self.status = self.PENDING
 
         # reset sharing state
         self.sharing    = Shareable.PRIVATE
@@ -675,8 +678,7 @@ class Experiment(Shareable):
         self.shared_with_team.clear()
 
         # remove associated attestations
-        if self.has_attestation():
-            self.attestation.all().delete()
+        if self.has_attestation(): self.attestation.all().delete()
 
         self.save()