diff --git a/goofy-client/apps/goofy-e2e/Jenkinsfile b/goofy-client/apps/goofy-e2e/Jenkinsfile
index c25dede479bf24c9037d9c13d44f45abb864d9c3..a2d3aaf4a684ca4d52a5ce2fc5ef1653d827d3d9 100644
--- a/goofy-client/apps/goofy-e2e/Jenkinsfile
+++ b/goofy-client/apps/goofy-e2e/Jenkinsfile
@@ -606,12 +606,11 @@ Void publishE2ETestResult(String reportFolder, String reportName) {
 
 String runTests(String bezeichner, String reportFolder, Integer dbPort, String stageName) {
     def config = generateCypressConfig(bezeichner, reportFolder, dbPort)
-	def spec = "apps/goofy-e2e/src/e2e/${reportFolder}"
 
     try {
         dir('goofy-client'){
 			sh "npm run cypress:version"
-			sh "npm run cypress:ci-run --CONFIG=./${config} --REPORT_FOLDER=${reportFolder}"
+			sh "apps/goofy-e2e/run-tests.sh ${reportFolder} ${config}"
         }
     } catch (Exception e) {
         printNpmDebugLog()
diff --git a/goofy-client/apps/goofy-e2e/run-tests.sh b/goofy-client/apps/goofy-e2e/run-tests.sh
new file mode 100755
index 0000000000000000000000000000000000000000..46ea837f373b0351c9a83e1a4b5cfc292a3f87ec
--- /dev/null
+++ b/goofy-client/apps/goofy-e2e/run-tests.sh
@@ -0,0 +1,26 @@
+#!/bin/bash
+
+export NO_COLOR=1
+
+REPORT_FOLDER=$1
+CONFIG_FILE="${2:-cypress.config.ts}"
+
+echo "Run E2E for $REPORT_FOLDER with configuration apps/goofy-e2e/$CONFIG_FILE..."
+
+rm -rf apps/goofy-e2e/reports/${REPORT_FOLDER}
+
+npx cypress run --project apps/goofy-e2e --spec apps/goofy-e2e/src/e2e/${REPORT_FOLDER} --config-file $CONFIG_FILE
+
+TEST_RESULT=$?
+
+if [ -d "apps/goofy-e2e/reports/${REPORT_FOLDER}/mochawesome-report/.jsons" ]; then
+	mv apps/goofy-e2e/reports/${REPORT_FOLDER}/mochawesome-report/.jsons apps/goofy-e2e/reports/${REPORT_FOLDER}/mochawesome-report/jsons
+	npx mochawesome-merge apps/goofy-e2e/reports/${REPORT_FOLDER}/mochawesome-report/**/*.json > apps/goofy-e2e/reports/${REPORT_FOLDER}/report.json
+	# Workaround: Add "screenshots" to image paths.
+	sed -i '' -E 's/"([^"]*\.png)/"screenshots\1/' apps/goofy-e2e/reports/${REPORT_FOLDER}/report.json
+	npx marge apps/goofy-e2e/reports/${REPORT_FOLDER}/report.json -f report -o apps/goofy-e2e/reports/${REPORT_FOLDER}
+else
+	echo "ERROR: Reports do not exist at apps/goofy-e2e/reports/${REPORT_FOLDER}/mochawesome-report/.jsons"
+fi
+
+exit $TEST_RESULT
\ No newline at end of file
diff --git a/goofy-client/apps/goofy-e2e/src/support/delete-old-reports.ts b/goofy-client/apps/goofy-e2e/src/support/delete-old-reports.ts
deleted file mode 100644
index 7e1fe4e63291541aca5faff95ceafd503f76d672..0000000000000000000000000000000000000000
--- a/goofy-client/apps/goofy-e2e/src/support/delete-old-reports.ts
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- * Copyright (C) 2022 Das Land Schleswig-Holstein vertreten durch den
- * Ministerpräsidenten des Landes Schleswig-Holstein
- * Staatskanzlei
- * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
- *
- * Lizenziert unter der EUPL, Version 1.2 oder - sobald
- * diese von der Europäischen Kommission genehmigt wurden -
- * Folgeversionen der EUPL ("Lizenz");
- * Sie dürfen dieses Werk ausschließlich gemäß
- * dieser Lizenz nutzen.
- * Eine Kopie der Lizenz finden Sie hier:
- *
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
- *
- * Sofern nicht durch anwendbare Rechtsvorschriften
- * gefordert oder in schriftlicher Form vereinbart, wird
- * die unter der Lizenz verbreitete Software "so wie sie
- * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
- * ausdrücklich oder stillschweigend - verbreitet.
- * Die sprachspezifischen Genehmigungen und Beschränkungen
- * unter der Lizenz sind dem Lizenztext zu entnehmen.
- */
-const fs = require('fs');
-
-fs.rmdirSync(`apps/goofy-e2e/reports/${process.env.REPORT_FOLDER}`, { recursive: true });
\ No newline at end of file
diff --git a/goofy-client/apps/goofy-e2e/src/support/pre-ea-report-merge.ts b/goofy-client/apps/goofy-e2e/src/support/pre-ea-report-merge.ts
deleted file mode 100644
index 08d5f533e0192fe38759f724e2eb41984fea6fed..0000000000000000000000000000000000000000
--- a/goofy-client/apps/goofy-e2e/src/support/pre-ea-report-merge.ts
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * Copyright (C) 2022 Das Land Schleswig-Holstein vertreten durch den
- * Ministerpräsidenten des Landes Schleswig-Holstein
- * Staatskanzlei
- * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
- *
- * Lizenziert unter der EUPL, Version 1.2 oder - sobald
- * diese von der Europäischen Kommission genehmigt wurden -
- * Folgeversionen der EUPL ("Lizenz");
- * Sie dürfen dieses Werk ausschließlich gemäß
- * dieser Lizenz nutzen.
- * Eine Kopie der Lizenz finden Sie hier:
- *
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
- *
- * Sofern nicht durch anwendbare Rechtsvorschriften
- * gefordert oder in schriftlicher Form vereinbart, wird
- * die unter der Lizenz verbreitete Software "so wie sie
- * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
- * ausdrücklich oder stillschweigend - verbreitet.
- * Die sprachspezifischen Genehmigungen und Beschränkungen
- * unter der Lizenz sind dem Lizenztext zu entnehmen.
- */
-const fs = require('fs');
-
-if (fs.existsSync(`apps/goofy-e2e/reports_einheitlicher-ansprechpartner/mochawesome-report/.jsons`)) {
-	fs.rename(`apps/goofy-e2e/reports_einheitlicher-ansprechpartner/mochawesome-report/.jsons`, `apps/goofy-e2e/reports_einheitlicher-ansprechpartner/mochawesome-report/jsons`, () => { })
-}
\ No newline at end of file
diff --git a/goofy-client/apps/goofy-e2e/src/support/pre-merge.ts b/goofy-client/apps/goofy-e2e/src/support/pre-merge.ts
deleted file mode 100644
index 6ea856303c5a3675377b4df88b5e7fbdf19f9c38..0000000000000000000000000000000000000000
--- a/goofy-client/apps/goofy-e2e/src/support/pre-merge.ts
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * Copyright (C) 2022 Das Land Schleswig-Holstein vertreten durch den
- * Ministerpräsidenten des Landes Schleswig-Holstein
- * Staatskanzlei
- * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung
- *
- * Lizenziert unter der EUPL, Version 1.2 oder - sobald
- * diese von der Europäischen Kommission genehmigt wurden -
- * Folgeversionen der EUPL ("Lizenz");
- * Sie dürfen dieses Werk ausschließlich gemäß
- * dieser Lizenz nutzen.
- * Eine Kopie der Lizenz finden Sie hier:
- *
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
- *
- * Sofern nicht durch anwendbare Rechtsvorschriften
- * gefordert oder in schriftlicher Form vereinbart, wird
- * die unter der Lizenz verbreitete Software "so wie sie
- * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
- * ausdrücklich oder stillschweigend - verbreitet.
- * Die sprachspezifischen Genehmigungen und Beschränkungen
- * unter der Lizenz sind dem Lizenztext zu entnehmen.
- */
-const fs = require('fs');
-
-if (fs.existsSync(`apps/goofy-e2e/reports/${process.env.REPORT_FOLDER}/mochawesome-report/.jsons`)) {
-	fs.rename(`apps/goofy-e2e/reports/${process.env.REPORT_FOLDER}/mochawesome-report/.jsons`, `apps/goofy-e2e/reports/${process.env.REPORT_FOLDER}/mochawesome-report/jsons`, () => { })
-}
\ No newline at end of file
diff --git a/goofy-client/apps/goofy-e2e/start-e2e-environment.sh b/goofy-client/apps/goofy-e2e/start-e2e-environment.sh
index 1a90b7fb229e8069532eacd82d3b588e386eda5f..092840b925f24cb6d11854056d22903aeeaee27b 100755
--- a/goofy-client/apps/goofy-e2e/start-e2e-environment.sh
+++ b/goofy-client/apps/goofy-e2e/start-e2e-environment.sh
@@ -49,7 +49,7 @@ SPRING_PROFILE=dev,e2e,initSearchIndex docker compose -f ${SCRIPT_DIR}/docker-co
 echo
 
 waitForInitSearchIndex() {
-	(docker compose -f ${SCRIPT_DIR}/docker-compose.yml logs | fgrep -q 'Successful filled up index - exiting')
+	(docker compose -f ${SCRIPT_DIR}/docker-compose.yml logs | grep -F -q 'Successful filled up index - exiting')
 }
 
 echo "Waiting for Pluto to finish search index initialisation."
diff --git a/goofy-client/package.json b/goofy-client/package.json
index 5d0c25a68eee1797610e63ba2606a7ee02b0e19d..0eccd787840c4f816483f44c73406bbaa626d8fc 100644
--- a/goofy-client/package.json
+++ b/goofy-client/package.json
@@ -39,12 +39,6 @@
 		"cypress:version": "npx cypress version",
 		"cypress:install": "npx cypress install",
 		"cypress:open": "npx cypress open --project apps/goofy-e2e",
-		"cypress:ci-run": "npm run cypress:delete-old-reports --REPORT_FOLDER=${npm_config_report_folder} ; NO_COLOR=1 npm run cypress:run -- --config-file=${npm_config_config} ; test=$(echo \"$?\") ; npm run cypress:pre-merge --REPORT_FOLDER=${npm_config_report_folder} ; npm run cypress:generate-report --REPORT_FOLDER=${npm_config_report_folder} ; exit $test",
-		"cypress:delete-old-reports": "REPORT_FOLDER=${npm_config_report_folder} node apps/goofy-e2e/src/support/delete-old-reports.ts",
-		"cypress:pre-merge": "REPORT_FOLDER=${npm_config_report_folder} node apps/goofy-e2e/src/support/pre-merge.ts",
-		"cypress:generate-report": "npm run cypress:merge-report --REPORT_FOLDER=${npm_config_report_folder} ; npm run cypress:generate-html --REPORT_FOLDER=${npm_config_report_folder}",
-		"cypress:merge-report": "mochawesome-merge apps/goofy-e2e/reports/${npm_config_report_folder}/mochawesome-report/**/*.json > apps/goofy-e2e/reports/${npm_config_report_folder}/report.json",
-		"cypress:generate-html": "marge apps/goofy-e2e/reports/${npm_config_report_folder}/report.json -f report -o apps/goofy-e2e/reports/${npm_config_report_folder}",
 		"workspace-generator": "nx workspace-generator",
 		"sonar-scanner": "npm test -- --testResultsProcessor='jest-sonar-reporter' && sonar-scanner -Dsonar.host.url=https://sonarqube.ozg-sh.de/ -Dsonar.login=364c6e09430714838730a83f55d3369a7ffda0e9"
 	},