diff --git a/src/mol-model-formats/structure/property/atoms/chem_comp.ts b/src/mol-model-formats/structure/property/atoms/chem_comp.ts
index ca0ccd116a46b964cb0515ca1f1ca5087b4a4ced..b97173404118f0b08a3d1ae8c97b14f243bdf6c9 100644
--- a/src/mol-model-formats/structure/property/atoms/chem_comp.ts
+++ b/src/mol-model-formats/structure/property/atoms/chem_comp.ts
@@ -56,7 +56,11 @@ export namespace ComponentAtom {
         const entries: Map<string, Entry> = new Map();
 
         function addEntry(id: string) {
-            let e = new Entry(id);
+            // weird behavior when 'PRO' is requested - will report a single bond between N and H because a later operation would override real content
+            if (entries.has(id)) {
+                return entries.get(id)!;
+            }
+            const e = new Entry(id);
             entries.set(id, e);
             return e;
         }