diff --git a/Dockerfile b/Dockerfile
index 9eb82c88340928f1df58c97a41271c5ecf804369..3d95b53e473ae5416da2b4b30d83686c2dfa5362 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -44,7 +44,7 @@ RUN set -e pipefail; \
 ARG ADD_DEV
 RUN set -e pipefail; \
     if test xYES = x`echo ${ADD_DEV} | tr '[:lower:]' '[:upper:]'`; then \
-      apt-get install -y pip emacs; \
+      apt-get install -y pip emacs less; \
       pip install black pylint; \
       apt-get remove -y pip; \
       apt-get -y autoremove; \
diff --git a/translate2modelcif.py b/translate2modelcif.py
index b0ff7fe28eeda8df3380f174207b5f1b4a5e7f67..82beb3b8fe831ff46427482ac6f644ea0df73608 100644
--- a/translate2modelcif.py
+++ b/translate2modelcif.py
@@ -663,9 +663,23 @@ def _get_entities(pdb_file, up_acs):
     """Gather data for the mmCIF (target) entities."""
     entities = []
     ost_ent = io.LoadPDB(pdb_file)
+    already_seen = []
     for i, chn in enumerate(ost_ent.chains):
         cif_ent = {}
         sqe = _get_sequence(chn)
+        try:
+            e_idx = already_seen.index(up_acs[i])
+        except ValueError:
+            pass
+        else:
+            if sqe != entities[e_idx]["pdb_sequence"]:
+                _abort_msg(
+                    "Sequences are different for two chains of the same "
+                    "UniProtKB AC. This case is not implemented, yet."
+                )
+            entities[e_idx]["pdb_chain_id"].append(chn.name)
+            continue
+        already_seen.append(up_acs[i])
         upkb = _get_upkb_for_sequence(sqe, up_acs[i])
         cif_ent["pdb_sequence"] = sqe
         cif_ent["pdb_chain_id"] = [chn.name]