diff --git a/share/fsl/sbin/update_fsl_package b/share/fsl/sbin/update_fsl_package
index 3f5b440c4dcf53e0533137cc09df78167cb41eb7..501c3d8966aca24aff7a0bc2596b53558294ea46 100755
--- a/share/fsl/sbin/update_fsl_package
+++ b/share/fsl/sbin/update_fsl_package
@@ -522,7 +522,7 @@ def confirm_installation(packages : Sequence[Package], yes : bool) -> bool:
     return response.strip().lower() in ('', 'y', 'yes')
 
 
-def install_packages(packages : Sequence[Package]):
+def install_packages(packages : Sequence[Package], dry_run : bool):
     """Calls conda to update the given collection of packages. """
 
     fsldir   = os.environ['FSLDIR']
@@ -530,7 +530,10 @@ def install_packages(packages : Sequence[Package]):
     cmd      = f'install --no-deps -p {fsldir} -y ' + ' '.join(packages)
 
     print('\nInstalling packages...')
-    conda(cmd, False)
+    if dry_run:
+        conda(cmd, False)
+    else:
+        print(f'Dry run - would execute {cmd}')
 
 
 def parse_args(argv : Optional[Sequence[str]]) -> argparse.Namespace:
@@ -553,6 +556,7 @@ def parse_args(argv : Optional[Sequence[str]]) -> argparse.Namespace:
     parser.add_argument('--username', help=argparse.SUPPRESS)
     parser.add_argument('--password', help=argparse.SUPPRESS)
     parser.add_argument('--verbose',  help=argparse.SUPPRESS, action='store_true')
+    parser.add_argument('--dry-run',  help=argparse.SUPPRESS, action='store_true')
 
     args = parser.parse_args(argv)