diff --git a/tutorials/Alltest b/tutorials/Alltest
index 7ab903e7dea4ab99c44e744c228f5c0d9226fb36..9277189ab5fb7291774c969c735eb882f5fb6b48 100755
--- a/tutorials/Alltest
+++ b/tutorials/Alltest
@@ -7,7 +7,7 @@
 #    \\/     M anipulation  |
 #------------------------------------------------------------------------------
 #     Copyright (C) 2011-2016 OpenFOAM Foundation
-#     Copyright (C) 2017-2023 OpenCFD Ltd.
+#     Copyright (C) 2017-2024 OpenCFD Ltd.
 #------------------------------------------------------------------------------
 # License
 #     This file is part of OpenFOAM, distributed under GPL-3.0-or-later.
@@ -150,6 +150,7 @@ modifyCaseControlDict()
 {
     for dict in $(find . -name "controlDict*" -type f)
     do
+        case "${dict}" in (*.orig) continue;; esac
         cp -f "${dict}" "${dict}.orig"
         sed \
             -e 's/\(startFrom[ \t]*\)[^ \t;]*;/\1 latestTime;/' \
diff --git a/tutorials/mesh/parallel/cavity/Allrun b/tutorials/mesh/parallel/cavity/Allrun
index 49e9aa72a3975fd44e5193df2b047eecc8f32772..370935618e35e2048d0eb52f45417f9530bcca10 100755
--- a/tutorials/mesh/parallel/cavity/Allrun
+++ b/tutorials/mesh/parallel/cavity/Allrun
@@ -25,16 +25,27 @@ runParallel -s random icoFoam $fileHandler
 # Pick up last result
 cp system/controlDict-latestTime system/controlDict
 
-# Redistribute to 5 processors. Note that new processors only get written
-# a mesh to the current time (0.505). Use -overwrite instead to write the
-# mesh to constant.
+# Redistribute to 5 processors.
+# Note that new processors only get written with a mesh at the current time.
+# Use -overwrite instead to write the mesh to constant
 runParallel -s 5 $decompDict5 redistributePar -cellDist $fileHandler
 
+latestTime=$(foamListTimes -processor -latestTime)
+
+echo "New mesh distribution. Time = $latestTime"
+
 # Run a bit more
 runParallel -s 5 $decompDict5 icoFoam $fileHandler
 
-# Reconstruct mesh and results. Note the time argument to make sure we
-# only pick up the new decomposition
-runParallel -s reconstruct -np 5 redistributePar -reconstruct -time 0.505: $fileHandler
+# Reconstruct mesh and results.
+# The time argument to make sure we only pick up the new decomposition
+if [ -n "$latestTime" ]
+then
+    runParallel -s reconstruct -np 5 redistributePar -reconstruct \
+        -time "${latestTime}:" $fileHandler
+else
+    runParallel -s reconstruct -np 5 redistributePar -reconstruct \
+        -latestTime $fileHandler
+fi
 
 #------------------------------------------------------------------------------