diff --git a/nomad/cli/admin/uploads.py b/nomad/cli/admin/uploads.py
index fa01c500b9420024369503326ba6c4c26e95fcdc..40653fa429cb27fd85caca0bab4bda0e941d56d7 100644
--- a/nomad/cli/admin/uploads.py
+++ b/nomad/cli/admin/uploads.py
@@ -461,13 +461,17 @@ def process(ctx, uploads, parallel: int, process_running: bool, setting: typing.
 
 @uploads.command(help='Repack selected uploads.')
 @click.argument('UPLOADS', nargs=-1)
-@click.option('--parallel', default=1, type=int, help='Use the given amount of parallel processes. Default is 1.')
 @click.pass_context
-def re_pack(ctx, uploads, parallel: int):
+def re_pack(ctx, uploads):
     _, uploads = _query_uploads(uploads, **ctx.obj.uploads_kwargs)
-    _run_processing(
-        uploads, parallel, lambda upload: upload.re_pack(), 're-packing',
-        wait_until_complete=False)
+
+    for upload in uploads:
+        if not upload.published:
+            print(f'Cannot repack unpublished upload {upload.upload_id}')
+            continue
+
+        upload.upload_files.re_pack(upload.with_embargo)
+        print(f'successfully re-packed {upload.upload_id}')
 
 
 @uploads.command(help='Attempt to abort the processing of uploads.')
diff --git a/tests/test_cli.py b/tests/test_cli.py
index 9cffd15b444d2eaddedc961f8b9bfbf41ab4e315..670d08393d2dbf41338cd77414728e8a1f565cde 100644
--- a/tests/test_cli.py
+++ b/tests/test_cli.py
@@ -233,7 +233,7 @@ class TestAdminUploads:
         published.save()
 
         result = invoke_cli(
-            cli, ['admin', 'uploads', 're-pack', '--parallel', '2', upload_id], catch_exceptions=False)
+            cli, ['admin', 'uploads', 're-pack', upload_id], catch_exceptions=False)
 
         assert result.exit_code == 0
         assert 're-pack' in result.stdout