diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index c8f19c42188f0bd156d17fe4688881d4611a71ea..680c38b7e965dca5893cc887286881bc93fe1520 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -43,7 +43,7 @@ variables:
   # The defalt branch to use with caosdb-cpplib
   # TODO: Change back to dev once f-consolidate-c has been merged
   CPP_DEFAULT_BRANCH: dev
-  
+
 stages:
   - info
   - code-style
@@ -65,6 +65,7 @@ info:
     - echo "CAOSDB_TAG = $CAOSDB_TAG"
     - echo "REFTAG = $REFTAG"
     - echo "F_BRANCH = $F_BRANCH"
+    - echo "CPPLIB_REF = $CPPLIB_REF"
     - ls -lah /image-cache/
 
 code-style:
@@ -97,12 +98,13 @@ build-testenv: &build-testenv
   timeout: 2h
   needs: []
   script:
+    - CPPLIB_REF=${CPPLIB_REF:-${CPP_DEFAULT_BRANCH}}
     - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
     - docker pull $JULIALIB_REGISTRY_IMAGE || true
     - docker build
       --build-arg JULIALIB_REGISTRY_IMAGE=$JULIALIB_REGISTRY_IMAGE
       --build-arg F_BRANCH=$F_BRANCH
-      --build-arg CPP_DEFAULT_BRANCH=$CPP_DEFAULT_BRANCH
+      --build-arg CPP_DEFAULT_BRANCH=$CPPLIB_REF
       --file .docker/Dockerfile
       --pull
       --cache-from $JULIAINTTEST_REGISTRY_IMAGE
@@ -189,7 +191,7 @@ test:
     - docker logs docker_sqldb_1 &> ../mariadb_log.txt
 
     # shut down the CaosDB server
-    - CAOSDB_TAG=$CAOSDB_TAG docker-compose -f docker-compose.yml down
+    - CAOSDB_TAG=$CAOSDB_TAG docker-compose -f docker-compose.yml down || true
 
     # collect results
     - rc=`cat result`
diff --git a/test/runtests.jl b/test/runtests.jl
index 49dadca6dc0bb6de59440bf29dc0144305e564ff..8dad4e8859dc9c954f9c56257056d31e9db9e3cf 100644
--- a/test/runtests.jl
+++ b/test/runtests.jl
@@ -126,6 +126,7 @@ end
 
         # Helper functions
         ent = retrieve("20")
+        GC.gc() # assure that ent still has a valid wrapped pointer
         @test get_name(ent) == "name"
 
         results = retrieve(["20", "21"])