diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index f15cca09f6bd525c0d168f29976db17115cc5390..2dc870ddad2accd523405be2b3092d20383a5b6e 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -22,7 +22,7 @@
 variables:
   # this is the image where cpplib repo is present (artifact from pipeline in
   # caosdb-cpplib)
-  CPPLIB_REGISTRY_IMAGE: $CI_REGISTRY/caosdb/src/caosdb-cpplib/testenv
+  CPPLIB_REGISTRY_IMAGE: $CI_REGISTRY/caosdb/src/caosdb-cpplib/testenv:$CI_COMMIT_REF_NAME
   # this is the image where all the docker containers (server, mysql and test
   # suite) are started
   CI_REGISTRY_IMAGE_BASE: $CI_REGISTRY/caosdb/src/caosdb-pyinttest/base:latest
@@ -82,10 +82,9 @@ build-testenv: &build-testenv
     - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
 
       #build testenv image
-    - TESTENV_TAG=$F_BRANCH
-    - docker pull $CPPLIB_REGISTRY_IMAGE:$TESTENV_TAG || TESTENV_TAG=dev
+    - docker pull $CPPLIB_REGISTRY_IMAGE || { CPPLIB_REGISTRY_IMAGE="$CI_REGISTRY/caosdb/src/caosdb-cpplib/testenv:dev" ; docker pull $CPPLIB_REGISTRY_IMAGE ; }
     - docker build
-      --build-arg CPPLIB_REGISTRY_IMAGE=$CPPLIB_REGISTRY_IMAGE:$TESTENV_TAG
+      --build-arg CPPLIB_REGISTRY_IMAGE=$CPPLIB_REGISTRY_IMAGE
       --file .docker/Dockerfile
       --pull
       --cache-from $CPPINTTEST_REGISTRY_IMAGE