diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index e57b466069ce34d10c25f3ac7c65ce685b1b2d4d..59e531e613b0e13b5d5f6ce6982a881cb1e747c8 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -26,42 +26,15 @@
 # . See https://support.astron.nl/confluence/display/L2M/L3+SDP+Decision%3A+Gitlab+pipeline+automation+to+test+SDPFW+with+OPC+UA
 
 stages:
-    - image
     - linting
     - simulation
     - synthesis
     - hardware
 
-# build docker image
-docker-image:
-  stage: image
-  image: docker:latest
-  tags:
-    #- privileged
-  only:
-    refs:
-      - master
-  services:
-    - docker:dind
-  variables:
-    DOCKER_TLS_CERTDIR: "/certs"
-  before_script:
-    - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
-  script:
-    - |
-      if [[ "$CI_COMMIT_BRANCH" == "$CI_DEFAULT_BRANCH" ]]; then
-        tag=""
-        echo "Running on default branch '$CI_DEFAULT_BRANCH': tag = 'latest'"
-      else
-        tag=":$CI_COMMIT_REF_SLUG"
-        echo "Running on branch '$CI_COMMIT_BRANCH': tag = $tag"
-      fi
-    - docker build --pull -t "$CI_REGISTRY_IMAGE${tag}" .
-    - docker push "$CI_REGISTRY_IMAGE${tag}"
-
 lint-vhdl-libraries:
+    tags:
+        hdl
     stage: linting
-    extends: docker-image
     allow_failure: true
     before_script:
         - DEBIAN_FRONTEND=noninteractive apt-get update