diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 7f852931a8385ee3720fc8cd9c87ce429e2f448c..89983dbf5e6cdfada2c0969b8a022d08ac2c9fd9 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -33,7 +33,7 @@ stages:
   DUNECI_OS: debian
   BASE_IMAGE: debian:10
   DEPENDENCIES_IMAGE: ${CI_REGISTRY}/copasi/dune-copasi/dependencies:${DUNECI_OS}-${TOOLCHAIN}-${BASE_IMAGE_VERSION}
-  DEPLOY_LATEST: "true"
+  MASTER_IMAGE: "true"
 
 .debian_clang: &debian_clang
   <<: *global_variables
@@ -146,11 +146,17 @@ stages:
       -t ${DOCKER_DEPLOY_IMAGE} .
     # push images into registry
     - docker push ${DOCKER_DEPLOY_IMAGE}
+    # set alternative and simpler names
     - |
-      if [[ "$CI_COMMIT_BRANCH" == "latest" && ! -z "${DEPLOY_LATEST}" ]]
-      then
-        docker tag ${DOCKER_DEPLOY_IMAGE} ${CI_REGISTRY}/copasi/dune-copasi/dune-copasi:latest
-        docker push ${CI_REGISTRY}/copasi/dune-copasi/dune-copasi:latest
+      if [[ ! -z "${MASTER_IMAGE}" ]]; then
+        DOCKER_TAG=${CI_REGISTRY}/copasi/dune-copasi/dune-copasi:${CI_COMMIT_REF_NAME}
+        docker tag ${DOCKER_DEPLOY_IMAGE} ${DOCKER_TAG}
+        docker push ${DOCKER_TAG}
+        if [[ "$CI_COMMIT_BRANCH" == "latest" ]]; then
+          DOCKER_TAG=${CI_REGISTRY}/copasi/dune-copasi/dune-copasi:latest
+          docker tag ${DOCKER_DEPLOY_IMAGE} ${DOCKER_TAG}
+          docker push ${DOCKER_TAG}
+        fi
       fi
     - docker logout ${CI_REGISTRY}/copasi/dune-copasi
   rules: