diff --git a/.docker/Dockerfile b/.docker/Dockerfile
index c2909e7385673a4a583cfde9181af1dd2fc3ce62..81d89ad40743b1c008b38e146a89115f9b6c8006 100644
--- a/.docker/Dockerfile
+++ b/.docker/Dockerfile
@@ -7,4 +7,4 @@ RUN git clone https://gitlab.com/caosdb/caosdb-pylib.git && \
 COPY . /git
 RUN rm -r /git/.git && mv /git/.docker/pycaosdb.ini /git 
 WORKDIR /git
-CMD /wait-for-it.sh caosdb-server:10443 -t 300 -- tox
+CMD .docker/run.sh
diff --git a/.docker/run-test.sh b/.docker/run-test.sh
new file mode 100755
index 0000000000000000000000000000000000000000..4eb06dc34cb953c8293507ba0c25b2c6e619a017
--- /dev/null
+++ b/.docker/run-test.sh
@@ -0,0 +1,4 @@
+#!/bin/bash
+
+tox
+echo $?>test_success
diff --git a/.docker/run.sh b/.docker/run.sh
new file mode 100755
index 0000000000000000000000000000000000000000..575a4987b5282c87a6c92ab59e92276425ca8da3
--- /dev/null
+++ b/.docker/run.sh
@@ -0,0 +1,6 @@
+#!/bin/bash
+/wait-for-it.sh caosdb-server:10443 -t 300 -- .docker/run-test.sh
+cat test_success
+rv=`cat test_success`
+echo $rv
+exit $rv
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 5b652fd43d1db79cc0bbc1fad88670bcef5da24a..5356d8fe603b908096d950005a6ea374725ef098 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -82,14 +82,11 @@ test:
       - DIR=`pwd`
       - CERTPATH=$DIR"/cert" CAOSDB_TAG=$CAOSDB_TAG docker-compose  up -d
       # prevent this script from terminating when the return value is non-zero
-      - set +e
       - docker-compose -f tester.yml run tester 
-      - rc=$?
-      - echo $rc
-      - set -e
       - docker logs docker_caosdb-server_1 &> ../caosdb_log.txt
       - docker logs docker_sqldb_1 &> ../mariadb_log.txt
       - docker-compose down
+      - rc=`cat /git/test_success`
       - exit $rc
   artifacts:
     paths: