diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index ed184f980e98db9f3232cbb2453738c6d5225914..20377be2db569c3b17f4b07cdc3648ed28c3c11c 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -32,22 +32,6 @@ build-docker:
   tags:
     - docker
 
-build-binder:
-  stage: build
-  script:
-    # Use Binder build API to trigger repo2docker to build image on GKE and OVH Binder Federation clusters
-    - ls
-    - apk update && apk add curl
-    - chmod +x binder/trigger-binder.sh
-    - binder/trigger-binder.sh https://mybinder.org/build/git/https%3A%2F%2Fgit-ce.rwth-aachen.de%2Fjupyter%2Fexample-profile/master
-    - binder/trigger-binder.sh https://gke.mybinder.org/build/git/https%3A%2F%2Fgit-ce.rwth-aachen.de%2Fjupyter%2Fexample-profile/master
-    - binder/trigger-binder.sh https://ovh.mybinder.org/build/git/https%3A%2F%2Fgit-ce.rwth-aachen.de%2Fjupyter%2Fexample-profile/master
-    - ls
-  only:
-    - master
-  tags:
-    - docker
-
 test-docker:
   stage: test
   script:
@@ -72,4 +56,4 @@ release-docker:
     changes:
       - Dockerfile
   tags:
-    - docker
\ No newline at end of file
+    - docker
diff --git a/Dockerfile b/Dockerfile
index 8cca5674739d0c28f24e9266b180a528c35fce7c..e769975a2463cf9944ad5784a54c6eb1adf31d8d 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -12,12 +12,5 @@ RUN conda env update -f /tmp/environment.yml # All packages specified in environ
 # Cleanup conda packages
 RUN conda clean --all -f -y
 
-# Execute postBuild script
-ADD binder/postBuild /tmp/postBuild.sh
-USER root
-RUN chmod +x /tmp/postBuild.sh # Make the file executable (TODO: is this still needed?)
-USER $NB_USER
-RUN /tmp/postBuild.sh
-
 # Copy workspace
 COPY ./ /home/jovyan
diff --git a/README.md b/README.md
index c36f1e083a2bf727fb2137bf7f4a0f106576085c..22887f0dfd4a49254ebc9d8cdef95d2a0625bfae 100644
--- a/README.md
+++ b/README.md
@@ -9,8 +9,6 @@ This repository contains an exemplary Jupyter profile which works with the RWTH
 * `Dockerfile` which defines the linux environment. In the end, the packages in `environment.yml` are installed and a `postBuild` script is executed afterwards.
 * `.gitlab-ci.yml` which specifies the necessary Docker build commands (which are executed every time `Dockerfile` changes in Git).
 
-Run the notebook directly online [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/git/https%3A%2F%2Fgit.rwth-aachen.de%2Fjupyter%2Fexample-profile/master?urlpath=lab/tree/Quickstart.ipynb) (the starting process of the session may take up to one minute).
-
 ## Installation
 
 ### Installation on RWTH Jupyter Server
diff --git a/binder/environment.yml b/binder/environment.yml
deleted file mode 120000
index 7a9c7905764710d41490b31b737ff4cf42c27448..0000000000000000000000000000000000000000
--- a/binder/environment.yml
+++ /dev/null
@@ -1 +0,0 @@
-../environment.yml
\ No newline at end of file
diff --git a/binder/postBuild b/binder/postBuild
deleted file mode 100755
index acc07411bcc0ddd0e8fa95b8c1fd338c4e2418d0..0000000000000000000000000000000000000000
--- a/binder/postBuild
+++ /dev/null
@@ -1,2 +0,0 @@
-jupyter labextension install @jupyter-widgets/jupyterlab-manager
-jupyter labextension install jupyter-matplotlib
\ No newline at end of file
diff --git a/binder/trigger-binder.sh b/binder/trigger-binder.sh
deleted file mode 100755
index 367c7eb66f5f8a398f24911f98d82e907af40be0..0000000000000000000000000000000000000000
--- a/binder/trigger-binder.sh
+++ /dev/null
@@ -1,26 +0,0 @@
-#!/bin/sh
-
-function trigger_binder() {
-    local URL="${1}"
-
-    curl -L --connect-timeout 10 --max-time 30 "${URL}"
-    curl_return=$?
-
-    # Return code 28 is when the --max-time is reached
-    if [ "${curl_return}" -eq 0 ] || [ "${curl_return}" -eq 28 ]; then
-        if [[ "${curl_return}" -eq 28 ]]; then
-            printf "\nBinder build started.\nCheck back soon.\n"
-        fi
-    else
-        return "${curl_return}"
-    fi
-
-    return 0
-}
-
-function main() {
-    # 1: the Binder build API URL to curl
-    trigger_binder $1
-}
-
-main "$@" || exit 1