diff --git a/.docker/Dockerfile b/.docker/Dockerfile
index 74e919fb6f078ac3ade2756e716ad38b948cf2e2..cc95db8ea1827a22bc5d96dcbce6f434345ad4c6 100644
--- a/.docker/Dockerfile
+++ b/.docker/Dockerfile
@@ -28,5 +28,5 @@ COPY . /caosdb-octavelib
 WORKDIR /caosdb-octavelib
 RUN rm -rf .git
 
-RUN pip3 install -r doc/requirements.txt
-RUN pip3 install -r dev-requirements.txt
+RUN pip3 install -U -r doc/requirements.txt
+RUN pip3 install -U -r dev-requirements.txt
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 5f9c978ffe351db0dd2eafa5c88f196674c52e63..dc3bf9a1f9327a4247d81f15b0b2c7c62d3e0e4e 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -47,6 +47,12 @@ build-testenv:
   image: docker:20.10
   script:
     - DOCKER_BASE_IMAGE="${CPPLIB_REGISTRY_IMAGE}"
+    - if [[ "${CI_COMMIT_REF_NAME}" == release* ]] ; then
+        echo "Release detected, choosing cpplib image from 'main' branch." ;
+        DOCKER_BASE_IMAGE="$CI_REGISTRY/caosdb/src/caosdb-cpplib/testenv:main" ;
+      else
+        echo "CI_COMMIT_REF_NAME $CI_COMMIT_REF_NAME" ;
+      fi
     - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
     - if docker pull "$DOCKER_BASE_IMAGE" ; then
         echo "DOCKER_BASE_IMAGE=${DOCKER_BASE_IMAGE}" ;