diff --git a/beat/web/utils/management/commands/restore.py b/beat/web/utils/management/commands/restore.py
index 1011d694ac84bbd7636c69416e47eea0c3308e81..bd710aea04de41fd05ca7b4ee8d3cd81c86f29ee 100644
--- a/beat/web/utils/management/commands/restore.py
+++ b/beat/web/utils/management/commands/restore.py
@@ -46,6 +46,7 @@ import django.core.serializers.base
 from django.contrib.auth.models import User
 from ....navigation.models import Agreement
 from ....accounts.models import AccountSettings
+from ....experiments.models import Experiment, Block
 
 _original_save = django.core.serializers.base.DeserializedObject.save
 
@@ -152,3 +153,9 @@ class Command(BaseCommand):
 
             # removes the temporary directory
             shutil.rmtree(tmpdir)
+
+            # reset all experiments in a transient state (notice Job and
+            # JobSplit are not backed-up because of circular dependence issues
+            # on the "experiments" app).
+            transient = (Experiment.RUNNING, Experiment.CANCELING)
+            for e in Experiment.objects.filter(status__in=transient): e.reset()