diff --git a/pressure-vessel/upload-artifacts.py b/pressure-vessel/upload-artifacts.py
index 20d49e7a4b55d094c4447ea518a31d75d858afde..259aa2fbefab768709348dae812c2d9b531d9f1f 100755
--- a/pressure-vessel/upload-artifacts.py
+++ b/pressure-vessel/upload-artifacts.py
@@ -352,17 +352,18 @@ class Uploader:
                 logger.info('%r', argv)
                 subprocess.check_call(argv)
 
-        # Check that our rsync options didn't optimize away a change that
-        # should have happened
-        with open(str(upload / 'SHA256SUMS')) as reader:
-            self.check_call([
-                'env', '--chdir', '{}'.format(version),
-                'sha256sum', '--strict', '--quiet', '-c',
-            ], stdin=reader)
+        if not self.dry_run:
+            # Check that our rsync options didn't optimize away a change that
+            # should have happened
+            with open(str(upload / 'SHA256SUMS')) as reader:
+                self.check_call([
+                    'env', '--chdir', '{}'.format(version),
+                    'sha256sum', '--strict', '--quiet', '-c',
+                ], stdin=reader)
 
-        self.check_call([
-            'ln', '-fns', version, 'latest',
-        ])
+            self.check_call([
+                'ln', '-fns', version, 'latest',
+            ])
 
 
 def main() -> None: