diff --git a/applications/test/multiWorld/Allrun b/applications/test/multiWorld/Allrun
index b4c1b2cc6585fa3de1f1c7f60dffa0fad74de2a2..e889d48c467078e870f84c4e7351796a083d1629 100755
--- a/applications/test/multiWorld/Allrun
+++ b/applications/test/multiWorld/Allrun
@@ -1,6 +1,7 @@
 #!/bin/sh
-cd ${0%/*} || exit 1                        # Run from this directory
-. $WM_PROJECT_DIR/bin/tools/RunFunctions    # Tutorial run functions
+cd "${0%/*}" || exit                                # Run from this directory
+. ${WM_PROJECT_DIR:?}/bin/tools/RunFunctions        # Tutorial run functions
+#------------------------------------------------------------------------------
 
 # Run serial
 (cd left && runApplication blockMesh)
diff --git a/tutorials/compressible/acousticFoam/obliqueAirJet/Allclean b/tutorials/compressible/acousticFoam/obliqueAirJet/Allclean
index 87adb1f6be77c6cc86ef936c3ea1750dd84cafca..3b298cafd8acd680d0a5a7f8a50995f57537d66f 100755
--- a/tutorials/compressible/acousticFoam/obliqueAirJet/Allclean
+++ b/tutorials/compressible/acousticFoam/obliqueAirJet/Allclean
@@ -1,6 +1,5 @@
 #!/bin/sh
 cd "${0%/*}" || exit                                # Run from this directory
-. ${WM_PROJECT_DIR:?}/bin/tools/CleanFunctions      # Tutorial clean functions
 #------------------------------------------------------------------------------
 
 (cd precursor && ./Allclean)
diff --git a/tutorials/compressible/acousticFoam/obliqueAirJet/Allrun b/tutorials/compressible/acousticFoam/obliqueAirJet/Allrun
index b3bcb07bffceb1a10268fe8c60eb800aff3052cb..d6f722dbfbd5c5faca261e751330ce58dd707738 100755
--- a/tutorials/compressible/acousticFoam/obliqueAirJet/Allrun
+++ b/tutorials/compressible/acousticFoam/obliqueAirJet/Allrun
@@ -1,6 +1,5 @@
 #!/bin/sh
 cd "${0%/*}" || exit                                # Run from this directory
-. ${WM_PROJECT_DIR:?}/bin/tools/RunFunctions        # Tutorial run functions
 #------------------------------------------------------------------------------
 
 # Run a precursor init case
diff --git a/tutorials/compressible/acousticFoam/obliqueAirJet/precursor/Allclean b/tutorials/compressible/acousticFoam/obliqueAirJet/precursor/Allclean
index 91099c43c021465a716ffab192b8fa9e9b54c346..1289184fd6e69bc17b7a6827aea06d84a543d556 100755
--- a/tutorials/compressible/acousticFoam/obliqueAirJet/precursor/Allclean
+++ b/tutorials/compressible/acousticFoam/obliqueAirJet/precursor/Allclean
@@ -7,6 +7,6 @@ vibroAcousticCase="../main"
 
 cleanCase0
 
-rm -rf $vibroAcousticCase/constant/boundaryData
+rm -rf "$vibroAcousticCase"/constant/boundaryData
 
 # -----------------------------------------------------------------------------
diff --git a/tutorials/compressible/acousticFoam/obliqueAirJet/precursor/Allrun-parallel b/tutorials/compressible/acousticFoam/obliqueAirJet/precursor/Allrun-parallel
index 98c9f3495c8863de458769678984cafdc2a493cb..4d8ad37e34fc7c4a9fee0074449513ec3546bc8d 100755
--- a/tutorials/compressible/acousticFoam/obliqueAirJet/precursor/Allrun-parallel
+++ b/tutorials/compressible/acousticFoam/obliqueAirJet/precursor/Allrun-parallel
@@ -3,7 +3,8 @@ cd "${0%/*}" || exit                                # Run from this directory
 . ${WM_PROJECT_DIR:?}/bin/tools/RunFunctions        # Tutorial run functions
 #------------------------------------------------------------------------------
 
-[[ -d constant/polyMesh ]] || runApplication ./Allrun.pre
+# Generate mesh if required
+[ -d constant/polyMesh ] || ./Allrun.pre
 
 restore0Dir
 
@@ -14,7 +15,7 @@ runParallel $(getApplication)
 vibroAcousticCase="../main"
 dataDir="postProcessing/surfaces/window"
 
-mkdir -p "$vibroAcousticCase/constant/boundaryData"
-cp -rf "$dataDir" "$vibroAcousticCase/constant/boundaryData/window"
+mkdir -p "$vibroAcousticCase"/constant/boundaryData
+cp -rf "$dataDir" "$vibroAcousticCase"/constant/boundaryData/window
 
 # -----------------------------------------------------------------------------
diff --git a/tutorials/lagrangian/reactingParcelFoam/airRecirculationRoom/Allrun b/tutorials/lagrangian/reactingParcelFoam/airRecirculationRoom/Allrun
index b786949d3f57344359b24201e1e0ce1ee7be7556..dd94bcbecac00efec50cca52aba7f5f291204927 100755
--- a/tutorials/lagrangian/reactingParcelFoam/airRecirculationRoom/Allrun
+++ b/tutorials/lagrangian/reactingParcelFoam/airRecirculationRoom/Allrun
@@ -1,6 +1,5 @@
 #!/bin/sh
 cd "${0%/*}" || exit                                # Run from this directory
-. ${WM_PROJECT_DIR:?}/bin/tools/RunFunctions        # Tutorial run functions
 #------------------------------------------------------------------------------
 
 (cd steady && ./Allrun-parallel)
diff --git a/tutorials/lagrangian/reactingParcelFoam/airRecirculationRoom/steady/Allrun-parallel b/tutorials/lagrangian/reactingParcelFoam/airRecirculationRoom/steady/Allrun-parallel
index f6afebac488e1312b695375a1cc2e7a934ae3b75..10779ea27e81aaf875e854e0d90c025623c32040 100755
--- a/tutorials/lagrangian/reactingParcelFoam/airRecirculationRoom/steady/Allrun-parallel
+++ b/tutorials/lagrangian/reactingParcelFoam/airRecirculationRoom/steady/Allrun-parallel
@@ -3,7 +3,8 @@ cd "${0%/*}" || exit                                # Run from this directory
 . ${WM_PROJECT_DIR:?}/bin/tools/RunFunctions        # Tutorial run functions
 #------------------------------------------------------------------------------
 
-[[ -d constant/polyMesh ]] || runApplication ./Allrun.pre
+# Generate mesh if required
+[ -d constant/polyMesh ] || ./Allrun.pre
 
 runApplication decomposePar
 
@@ -11,4 +12,4 @@ runParallel $(getApplication)
 
 runApplication reconstructPar -latestTime
 
-#------------------------------------------------------------------------------
\ No newline at end of file
+#------------------------------------------------------------------------------
diff --git a/tutorials/lagrangian/reactingParcelFoam/airRecirculationRoom/steady/Allrun.pre b/tutorials/lagrangian/reactingParcelFoam/airRecirculationRoom/steady/Allrun.pre
index 2293b77feec250c57c4db4a4a9028d174a19b3f9..6ffb3cdf5c7793e964bfd2ac528e50b6c4081a65 100755
--- a/tutorials/lagrangian/reactingParcelFoam/airRecirculationRoom/steady/Allrun.pre
+++ b/tutorials/lagrangian/reactingParcelFoam/airRecirculationRoom/steady/Allrun.pre
@@ -16,4 +16,4 @@ runApplication surfaceFeatureExtract
 
 runApplication snappyHexMesh -overwrite
 
-#------------------------------------------------------------------------------
\ No newline at end of file
+#------------------------------------------------------------------------------
diff --git a/tutorials/lagrangian/reactingParcelFoam/airRecirculationRoom/transient/Allrun b/tutorials/lagrangian/reactingParcelFoam/airRecirculationRoom/transient/Allrun
index fe4bfdcee39da626372e262cf59191432ec0bd72..e0d86182b5e6c20846248937cdaf6bf618defb8f 100755
--- a/tutorials/lagrangian/reactingParcelFoam/airRecirculationRoom/transient/Allrun
+++ b/tutorials/lagrangian/reactingParcelFoam/airRecirculationRoom/transient/Allrun
@@ -3,14 +3,26 @@ cd "${0%/*}" || exit                                # Run from this directory
 . ${WM_PROJECT_DIR:?}/bin/tools/RunFunctions        # Tutorial run functions
 #------------------------------------------------------------------------------
 
-[[ -d constant/polyMesh ]] || rm -rf constant/polyMesh
+parent="../steady"
+latestTime=$(foamListTimes -case "$parent" -noZero -latestTime)
 
-cp -rf ../steady/constant/polyMesh constant
+if [ -z "$latestTime" ]
+then
+    echo "FatalError: no latestTime found for $PWD/$parent"
+    exit 1
+fi
+
+# Replace mesh unconditionally
+rm -rf constant/polyMesh
+cp -rf "$parent"/constant/polyMesh constant
 
 restore0Dir
 
-cp -f ../steady/500/U 0/
-cp -f ../steady/500/p 0/
+# Restart from steady
+cp -f \
+    "$parent/$latestTime"/U \
+    "$parent/$latestTime"/p \
+    0/
 
 runApplication $(getApplication)
 
diff --git a/tutorials/lagrangian/reactingParcelFoam/airRecirculationRoom/transient/Allrun-parallel b/tutorials/lagrangian/reactingParcelFoam/airRecirculationRoom/transient/Allrun-parallel
index f9174c7abe9b3ec9b171b02426f037cfce50f448..98cef847cd60d0553840a0987089f3794b040c6e 100755
--- a/tutorials/lagrangian/reactingParcelFoam/airRecirculationRoom/transient/Allrun-parallel
+++ b/tutorials/lagrangian/reactingParcelFoam/airRecirculationRoom/transient/Allrun-parallel
@@ -3,14 +3,26 @@ cd "${0%/*}" || exit                                # Run from this directory
 . ${WM_PROJECT_DIR:?}/bin/tools/RunFunctions        # Tutorial run functions
 #------------------------------------------------------------------------------
 
-[[ -d constant/polyMesh ]] || rm -rf constant/polyMesh
+parent="../steady"
+latestTime=$(foamListTimes -case "$parent" -noZero -latestTime)
 
-cp -rf ../steady/constant/polyMesh constant
+if [ -z "$latestTime" ]
+then
+    echo "FatalError: no latestTime found for $PWD/$parent"
+    exit 1
+fi
+
+# Replace mesh unconditionally
+rm -rf constant/polyMesh
+cp -rf "$parent"/constant/polyMesh constant
 
 restore0Dir
 
-cp -f ../steady/500/U 0/
-cp -f ../steady/500/p 0/
+# Restart from steady
+cp -f \
+    "$parent/$latestTime"/U \
+    "$parent/$latestTime"/p \
+    0/
 
 runApplication decomposePar
 
diff --git a/tutorials/multiphase/compressibleInterFoam/laminar/waterCooler/Allrun b/tutorials/multiphase/compressibleInterFoam/laminar/waterCooler/Allrun
index b72506b7f533bdd10ba740a00a6958898d8dad64..fd5f99605e219a51210dd6fb9327ff7cd59b541c 100755
--- a/tutorials/multiphase/compressibleInterFoam/laminar/waterCooler/Allrun
+++ b/tutorials/multiphase/compressibleInterFoam/laminar/waterCooler/Allrun
@@ -1,6 +1,7 @@
 #!/bin/sh
-cd ${0%/*} || exit 1                        # Run from this directory
-. $WM_PROJECT_DIR/bin/tools/RunFunctions    # Tutorial run functions
+cd "${0%/*}" || exit                                # Run from this directory
+. ${WM_PROJECT_DIR:?}/bin/tools/RunFunctions        # Tutorial run functions
+#------------------------------------------------------------------------------
 
 (cd fluid && ./Allrun.pre)
 (cd solid && runApplication blockMesh)
@@ -11,9 +12,11 @@ mpirun -app ./mpirun.schema
 # Run parallel
 (cd fluid && runApplication decomposePar)
 (cd solid && runApplication decomposePar)
+
 #mpirun -app ./mpirun.schema_parallel
 # The problem is keeping the log files separate so use the openmpi
 # mpirun option to keep the separate outputs in the logs/ directory
+
 mpirun \
     --output-filename logs \
     -np 3 compressibleInterFoam -case fluid -world fluid -parallel : \