diff --git a/src/mol-repr/structure/visual/carbohydrate-terminal-link-cylinder.ts b/src/mol-repr/structure/visual/carbohydrate-terminal-link-cylinder.ts
index 7fa16c99b2ad80e08d0f4928ac1d3ae3a572ab04..96180e57abcb33cebe6216ccc78faa6339772cc9 100644
--- a/src/mol-repr/structure/visual/carbohydrate-terminal-link-cylinder.ts
+++ b/src/mol-repr/structure/visual/carbohydrate-terminal-link-cylinder.ts
@@ -136,7 +136,6 @@ function getTerminalLinkLoci(pickingId: PickingId, structure: Structure, id: num
     return EmptyLoci
 }
 
-// TODO for each link when both of the link elements are in a StructureElement.Loci
 function eachTerminalLink(loci: Loci, structure: Structure, apply: (interval: Interval) => boolean) {
     const { getTerminalLinkIndex } = structure.carbohydrates
     let changed = false
@@ -161,6 +160,11 @@ function eachTerminalLink(loci: Loci, structure: Structure, apply: (interval: In
                     for (let i = 0, il = indices.length; i < il; ++i) {
                         if (apply(Interval.ofSingleton(indices[i]))) changed = true
                     }
+                } else {
+                    const indices = getTerminalLinkIndices(e.unit, e.unit.elements[v])
+                    for (let i = 0, il = indices.length; i < il; ++i) {
+                        if (apply(Interval.ofSingleton(indices[i]))) changed = true
+                    }
                 }
             })
         }