diff --git a/src/mol-plugin/util/structure-selection-helper.ts b/src/mol-plugin/util/structure-selection-helper.ts
index eb0f1929b2f352ecd0192a8cfd907cf450cbc66a..d8016b318a66ec8a23abbda51e7716ac3376b8a2 100644
--- a/src/mol-plugin/util/structure-selection-helper.ts
+++ b/src/mol-plugin/util/structure-selection-helper.ts
@@ -141,7 +141,7 @@ const ligand = MS.struct.modifier.union([
     ]),
 ])
 
-// don't innclude branched entities as they have their own link representation
+// don't include branched entities as they have their own link representation
 const ligandPlusConnected = MS.struct.modifier.union([
     MS.struct.modifier.exceptBy({
         0: MS.struct.modifier.union([
@@ -155,6 +155,21 @@ const ligandPlusConnected = MS.struct.modifier.union([
     })
 ])
 
+const ligandConnectedOnly = MS.struct.modifier.union([
+    MS.struct.modifier.exceptBy({
+        0: ligandPlusConnected,
+        by: ligand
+    })
+])
+
+// residues connected to ligands or branched entities
+const connectedOnly = MS.struct.modifier.union([
+    MS.struct.combinator.merge([
+        branchedConnectedOnly,
+        ligandConnectedOnly
+    ]),
+])
+
 const modified = MS.struct.modifier.union([
     MS.struct.generator.atomGroups({
         'chain-test': MS.core.rel.eq([MS.ammp('objectPrimitive'), 'atomistic']),
@@ -183,6 +198,8 @@ export const StructureSelectionQueries = {
     branchedConnectedOnly,
     ligand,
     ligandPlusConnected,
+    ligandConnectedOnly,
+    connectedOnly,
     modified,
     coarse,
 }