diff --git a/Dockerfile b/Dockerfile
index f86765e2d3da95b7ad08fd6257421bc67fecaee4..70261b419a83c2167b5a4cf8d3327cc356149573 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -3,6 +3,14 @@
 # SPDX-License-Identifier: CC0-1.0
 
 # syntax=docker/dockerfile:1
+FROM python:3.8-alpine as builder
+
+# build icu lib
+# hadolint ignore=DL3018
+RUN apk add --no-cache g++ icu-dev \
+    && pip install --no-cache-dir PyICU==2.8.1
+
+
 FROM python:3.8-alpine
 
 LABEL \
@@ -15,11 +23,14 @@ LABEL \
     org.label-schema.vcs-url="https://gitlab.gwdg.de/dariah-de/textgridrep/repdav" \
     org.label-schema.vendor="SUB/FE"
 
+# copy pre-compiled icu lib from builder stage
+COPY --from=builder /usr/local/lib/python3.8/site-packages/icu /usr/local/lib/python3.8/site-packages/icu
+COPY --from=builder /usr/local/lib/python3.8/site-packages/PyICU-2.8.1.dist-info /usr/local/lib/python3.8/site-packages/PyICU-2.8.1.dist-info
+
+# icu-dev package is nevertheless needed by the python library
 # hadolint ignore=DL3018
 RUN adduser -D repdav \
-  && apk add --no-cache \
-  # currently needed by icu library; needs to be replaced somehow...
-  g++ icu-dev
+    && apk add --no-cache icu-dev
 
 USER repdav