diff --git a/compendium_v2/routes/survey.py b/compendium_v2/routes/survey.py
index 80a80df34e18f05387cb760c70f0505776e7fbe8..c96fd31ab14e6fd2545325a66205360a1553cfe7 100644
--- a/compendium_v2/routes/survey.py
+++ b/compendium_v2/routes/survey.py
@@ -305,10 +305,11 @@ def publish_survey(year) -> Any:
     except ValueError as e:
         return {'message': str(e)}, 400
 
-    db.session.execute(delete(PreviewYear).where(PreviewYear.year == year))
+    if not dry_run:
+        db.session.execute(delete(PreviewYear).where(PreviewYear.year == year))
 
-    survey.status = SurveyStatus.published
-    db.session.commit()
+        survey.status = SurveyStatus.published
+        db.session.commit()
 
     result = {'success': True}
     if output: