diff --git a/models/compare-models.sh b/models/compare-models.sh
index da0b156b62e44498f0b2b1d49d6c7023c938b7cc..9de3c899ab3921f3b928cda64f76e4707b79e10c 100755
--- a/models/compare-models.sh
+++ b/models/compare-models.sh
@@ -27,7 +27,7 @@ checkExecutable "Restructuring" "${RESTRUCTURING}"
 checkDirectory "Result directory" "${OPTIMIZATION_DATA}"
 
 # main
-for JOB_DIRECTORY in `find "${OPTIMIZATION_DATA}" -name "*${MODEL}*job"` ; do
+for JOB_DIRECTORY in `find "${OPTIMIZATION_DATA}" -name "${MODEL}*.job"` ; do
 	BASENAME=`basename "${JOB_DIRECTORY}"`
 	information "----------------------------------------"
 	information $BASENAME
diff --git a/models/handle-model-archives.sh b/models/handle-model-archives.sh
index a65a88706e82f47275ff05ca228cb074cd80bedf..114c3ddfd3fa88eadebe9d6b60f61ec1c40b8654 100755
--- a/models/handle-model-archives.sh
+++ b/models/handle-model-archives.sh
@@ -22,7 +22,7 @@ checkDirectory "Result directory" "${OPTIMIZATION_DATA}"
 
 if [ "$1" == "" ] ; then
 	error "Missing action: extract, compress"
-	information "Usage: handle-model-archives.sh <extract|compress> [JOB_NAME_FRAGMENT]"
+	information "Usage: handle-model-archives.sh <extract|finalize|compress|restore> [JOB_NAME_FRAGMENT]"
 	exit 1
 else
 	ACTION="$1"
@@ -34,6 +34,8 @@ else
 		information "compress"
 	elif [ "${ACTION}" == "restore" ] ; then
 		information "restore"
+	elif [ "${ACTION}" == "cleanup" ] ; then
+		information "cleanup"
 	else
 		warn "Unknown action ${ACTION}"
 		exit 1
@@ -82,20 +84,34 @@ function restore() {
 
 function compress() {
 	export MERGED_MODEL_ARCHIVE="${JOB_DIRECTORY}/merged-models.tar.xz"
-	mkdir -p "${JOB_DIRECTORY}/merged-models"
-	mv "${JOB_DIRECTORY}/"merge-optimized-* "${JOB_DIRECTORY}/merged-models"
+	export MERGED_MODEL_DIR="${JOB_DIRECTORY}/merged-models"
+	if [ -d "${MERGED_MODEL_DIR}" ] ; then
+		rm -rf "${MERGED_MODEL_DIR}"
+	fi
+	mkdir -p "${MERGED_MODEL_DIR}"
+	mv "${JOB_DIRECTORY}/"merge-optimized-* "${MERGED_MODEL_DIR}"
 	tar -cJf "${MERGED_MODEL_ARCHIVE}" merged-models
-	rm -rf "${JOB_DIRECTORY}/merged-models"
+	rm -rf "${MERGED_MODEL_DIR}"
+
 	# compress csv xmi yaml files
 	export MODIFICATIONS_ARCHIVE="${JOB_DIRECTORY}/modifications.tar.xz"
-	mkdir -p "${JOB_DIRECTORY}/modifications"
+	export MODIFICATIONS_DIR="${JOB_DIRECTORY}/modifications"
+	if [ -d "${MODIFICATIONS_DIR}" ] ; then
+		rm -rf "${MODIFICATIONS_DIR}"
+	fi
+	mkdir -p "${MODIFICATIONS_DIR}"
 	mv "${JOB_DIRECTORY}/"original-model-optimized-*.* modifications
 	tar -cJf "${MODIFICATIONS_ARCHIVE}" modifications
-	rm -rf "${JOB_DIRECTORY}/modifications"
+	rm -rf "${MODIFICATIONS_DIR}"
 }
 
 function finalize() {
 	compress
+	cleanup
+}
+
+function cleanup() {
+        rm -rf "${JOB_DIRECTORY}/original-model"
 	for J in "${JOB_DIRECTORY}/optimized-"* ; do
 		if [ -d "$J" ] ; then
 			rm -rf "$J"
@@ -123,6 +139,8 @@ for JOB_DIRECTORY in `find "${OPTIMIZATION_DATA}" -name "*${MODEL}*job"` ; do
 		compress
 	elif [ "${ACTION}" == "restore" ] ; then
 		restore
+	elif [ "${ACTION}" == "cleanup" ] ; then
+		cleanup
 	elif [ "${ACTION}" == "finalize" ] ; then
 		finalize
 	fi
diff --git a/models/prepare-models-for-inspection.sh b/models/prepare-models-for-inspection.sh
index 14ff518f33eceabb457eb39b101513b51f3fad98..f79a2661f736f4ec931cfb3dd9c71beec320f8bc 100755
--- a/models/prepare-models-for-inspection.sh
+++ b/models/prepare-models-for-inspection.sh
@@ -30,7 +30,7 @@ touch "${MOP_LOG}"
 
 # main
 COUNT=0
-for JOB_DIRECTORY in `find "${OPTIMIZATION_DATA}" -name "*${MODEL}*job"` ; do
+for JOB_DIRECTORY in `find "${OPTIMIZATION_DATA}" -name "${MODEL}*.job"` ; do
 	BASENAME=`basename "${JOB_DIRECTORY}"`
 	information "----------------------------------------"
 	information $BASENAME